Just that. I've never do couch surfing and I'd like to start couchsurfing in my next trip, but I don't know what the host "expects". Do I have to take something in exchange for his/her offer? Or it's better to invite to a dinner? And about the stay, should I expect to visit the city with the host or alone?
You'll find that it varies from host to host, and this is often indicated on their profile.
Some are excited to meet new people, but can't actually host - so they'll often just say they want to meet you in town for a coffee or similar.
Others will have a bed and a spare room, and can be amazingly generous.
However they do understand that you're travelling, are on a budget, and while they may want to show you around the city, they'll also (usually) be keen to help you enjoy your time while on your budget. Some just want a new person to talk to in the evenings, while others will take you around.
I'd suggest signing up, creating a profile, and then looking around at some of the profiles in the cities you wish to visit. It'll give you an idea of what they're looking for in a guest - often they'll say in their profiles that perhaps they just wish to practise a new language, or they like meeting new people.
As for bringing a gift or taking them to dinner - do whatever feels comfortable, and don't force them into it either. Some cultures it's very important to treat a person when they come to your city/house, while others it's customary to bring something - that will depend on where you go, and is probably a topic for another question. ;)
The first thing to know about Couchsurfing is that it is completely free. You are not required to "pay" for your stay offering a dinner, bringing a gift, etc. The only rule that applies is to behave politely. You are not even required to spend some time with your host, even though in some cases this could fall in the "unpolite behaviour".
This said, the answer to your question is very subjective and varies depending on who is going to be your host. I divide my answer in two paragraphs:
During my personal experience in the community (I'm a CS member since 2009 and I hosted more than 50 travelers) I met couchsurfers who brought simple gifts (e.g. a box of chocolates, a can of beer, objects supposed to bring you good luck, etc.), sometimes people who prepared a whole dinner for me in my house or even a person who invited me a dinner in a restaurant. Several times the guest simply spent some time with me, chatting and having a drink, without offering anything (that was ok too, of course). The rule of thumb, in my opinion, is to read carefully the interests of the person who is going to host you and to act in consequence: if a person is very interested in food you could bring something to eat from your country that is impossible or difficult to find in the country of your host. The same applies for photography, books, music, etc. Remember: since you are not required to bring a gift, every gift will be well accepted!
Visiting the city
I usually like to spend some time with my guests and to show them the city. Other surfers I met just give you the key of your home and they behave more like a free hostel. Anyway people usually write down on their profiles if they are willing to visit the city with their guests, so just check the profiles before sending request.
It really depends on the host.
I try to help out with dishes and buy&prepare the food, or bring a postcard from your city and leave a nice note on the fridge before you leave. Some hosts expect you to hang out with them. I went to a bar with a local band playing in Vancouver i wouldn't have visited otherwise, and it was actually a nice evening.
Other host are hardly at home so you cant really do much, but in this case i try to leave the place cleaner than it was before i visited. Clean the kitchen, bathroom and "public" areas if possible or maybe wash the windows.