I am always telling people they should charge more for the work they do. I get frustrated when I see good people with good ideas and good execution but who also happen to have good hearts give it away for nothing. Your mom was right: they won’t buy the cow if they get the milk for free. (Except she was probably wrong about it being about the slackers you dated in high school). If you believe in what you do then you should believe that other people will pay for it – and often they will! You just need to ask them. It’s hard, for sure, to ask for what your work is really worth but in the end the only way to keep doing it as well as you want to is to be compensated properly.
But what about when someone asks you to work entirely for free? Should you ever do it? No, no you shouldn’t. With very very few exceptional circumstances you should never work for free. That is, without cash payment. There may be other ways you’re compensated (karma, exposure, experience) but don’t fool yourself about how much you really need those things versus, say, food and cable TV, and how much you’ll actually get. And I advocate that even if you end up not getting any actual cash payment you should still include an invoice that you “courtesy discount” down to a zero balance. They may not pay for it but they should recognize the value you assign to the work.
But just in case you need a reminder consult this: Should I Work For Free? Better yet, buy a print and hang it on your wall. Can’t afford the $75 for the print? Then you definitely shouldn’t be working for free!