BUT! I'm making an exception today because I've already saved hundreds of dollars with this one trick -- and you can, too.
Call the place where you made your reservation -- but don't cancel. RESCHEDULE. Pick a date that falls outside of the "non-refundable" timeframe. Then, call back the next day and cancel, and you'll get your money back.
If you feel guilty about it (the two times I've had to do this, I felt really bad), write them a good Yelp or Trip Advisor review. Like them on Facebook or RT one of their deals on Twitter. Or remember what great customer service they had, and book with them next time you travel.
Better yet - try to stay flexible when you travel. That way, you can ask locals and fellow travelers for their recommendations and get the best insider information, instead of sticking to the guidebook. You can decide at the last minute that the weather looks nicer up north than down south, and adjust accordingly. And you can worry less about being in a certain place at a certain time.