Ok, I don't know if this is a shameful thing or not, but I realized the meaning of the phrase "There's no such thing as a free lunch" only yesterday. I used to think it means that "you have to pay for whatever you get, it might look free, but the price will be extracted from you by other means." Frankly, that's the context I have seen it being used in all around me forever.
But no. It means: "If you're having a free lunch, you can be sure that someone, somewhere is paying for it!"
Which makes so much more sense, doesn't it?
And now, raise your hands if you have been similarly mistaken! C'mon! Give me company!
Update: ok, ok ok! It means much more than the narrow "You get nothing free." It means that someone (and that someone could be you) is paying for your lunch somewhere, somehow, sometime. But that's still a different (if only much larger) definition than most of us are used to. Thanks Papunda, for the wikipedia link!