This is still a difficult question for me. I think it depends on the country or area you are in. And on the situation of the people you stayed with. In my experience it is mostly, say 95% of the time not necessary to give money. And it might indeed raise their expectation for the next traveler that stays with them. With in the end a situation like in Ethiopia, where cyclists get stoned when they don't give anything, even if just passing by.
In some really poor families it might be a good idea. But still, when the invitation was fully their initiative, it can be even rude to give money. In some cases I knocked a door myself, because of bad weather coming or other safety issues. In this case I offered sometimes money, but it was always refused. My most favorite way to contribute is to cook for the family i stayed with and share the food. Especially when couchsurfing I do this a lot.
Good question, hard to discuss since it is mostly a gut feeling case.