never do anything for free
That's a bad advice because it curbs volunteering for causes you aspire to.
Neil Gaiman charges $45,000 for public speeches when requested. One kind of place he always does it for free for, however, is libraries. He loves libraries, and whenever asked, if he feels like speaking there, he'd do it for free just because he could tell about his aspirations on books and writing craft to the interested crowd.
On a much smaller scale, I sometimes make web design and programming for people for free. It's always unwarranted, but I find myself a good challenge, and if the place is good, I'd do it for them. I like it. It pushes me to research and try something new, and I appreciate the attention to details I have to put into the work (because it's usually me copying stuff into a new, more feasable format, like JPG from a slow, non-CDN hosting website into a CSS-only copy).
I would request payment if they asked me to do something for them. I'll do my laundry for free, but other people would have to provide me incentive.