Everyone's been there. A friend of a friend asks you to take their family portrait, a cousin wants you to shoot their wedding, a local business would really like some event photos — but nobody has a budget. Working for free is something every working professional gets faced with frequently. In this video Ted Forbes from The Art of Photography talks about the pros and cons of free work.
Below is the TL;DR version.
Scenario 1: A high profile client asks you to do work for free. This could be an important local business or a national brand, everyone likes a good deal. However, Ted points out that when a client of this caliber is looking for free work they likely aren't too concerned about the project quality, it likely isn't worth your time and, no matter how much they insist, does not necessarily lead to future work.
Scenario 2: Working "for exposure" is another thing potential clients throw around. Unless it puts you in contact with your exact clientele it's probably not even the exposure you're looking for.
Scenario 3: Non-profit / pro bono work can also be a slippery slope. While, I believe, philanthropy should be a central value of any business venture, it's important to not let yourself be taken advantage of. A strategy that I've found particularly successful is to work with the organization to come up with the budget they need for your services. You can cut them a deal, you can volunteer some of your time, but charging (even a nominal fee) for your professional services is important.
The Alternative: Working for trade. Even if a monetary payment isn't an option working for trade is something that should be considered too. While it won't pay your bills you'll still get something meaningful out of it and the other party will see that your time has value.