I think a lot of it truly is passion. Interns have goals that typically don't align with the company they go to work for. That's why they take crap pay. They get to not care and in return the company doesn't have to care about them! Everybody wins, and it's a choice all around. So it's mutually agreeable that the intern will put in some effort and get some reward.
Speaking for my own open source projects; There are already better, cheaper, and easier alternatives to my software. I'm already paying out the ass for something I could just download. I'm doing it for reasons that I can't, or won't, buy. And I know that sounds cliche because it is cliche, but passion is cliche.
We're programmers and hackers here. Just like a hot rod enthusiast spends $200k and 3 years building a car he could buy in a catalogue for $75k; we don't pay as much attention to cost/benefit relationships as we'd like to think.