Personally, I prefer paying (cash), because it changes the nature of the situation. As a free guest, you are - or can be - expected to participate in the hosts' events, such as meals, touring the city, etc. That may be great, and I might still want to do it, but I'd rather keep my options open in case I don't get along with them or I have different plans.
I wouldn't call CS a "free service". It's supposed to be more of a community. It's great for meeting people and learning their way of life, but if I travel on business or when I know I won't have much time to spend with the host, I find alternative accommodation.