The guy from Sony answered it: size, weight, and output differences. Would someone actually critique that instead of talking about markets, price settings, and conspiracy theories?
Because a secret agenda of theirs is to make you use XCode to develop apps. This was made quite clear to my former company on a project. That's why you won't see Java nor Flash any time soon, and the ToS explicitly forbids apps that execute external code. I theorize that by doing this they 1) want control and 2)hope that the iPhone development activity propagates into OS X development activity.
I've had a lot of experience volunteering for non-profit organizations. Granted, it's not the same type of "volunteering" that you mention, but it is a very good path to gain not only coding experience, but leadership skills, business experience, and of course, contacts. On the resume, it is definitely a differentiator. In interviews, I am always asked about my volunteer work.
That being said, there are several pitfalls:
1) The vast majority of non-profits are inherently very conservative and risk adverse due to their unique cash flow situation. You cannot just go into a group and say, "I'll build you X,Y, and Z and it will be fabulous." You must spend time gaining their trust in a volunteer capacity they ask for. If they're advertising on a volunteer site for a programmer, great. You're in. If there is an organization you want to help, but they're not asking for IT help, you may have to spend a long time volunteering for them in whatever role they need, buddy up to the higher ups, then offer advice on how you can streamline things for them.
2) Be careful of the organizations you list on the resume. They might not always help. The homeless, animals, and children are all very good causes that won't offend anyone. Sadly, though, gay and lesbian causes may turn off a born-again HR screener. I'm not saying don't volunteer for controversial causes, but I am saying be careful of what you put on the resume.
3) Be sure you know what you're doing. Even though it is a learning experience for you, it isn't. You are not giving any long term help to a organization by selecting obscure tools and sloppy coding. You will not be there forever. This goes for paid work and non-profit work. You may be hit by a bus, you may have a falling out. However, the product you create will be used for a long, long time. Use best practices and common tools. Mod me down, RoRers, but I recently talked to a non-profit that couldn't find anyone with RoR experience willing to help modify an app that some fly-by-night volunteer developed. They spent months posting on Craigslist and the usual volunteer sites, and eventually had to agree on a complete rewrite in PHP from another volunteer.
Same here. Jersey Shore. OpenDNS is still working fine.
Javascript database support isn't mentioned. That's a bummer for those of us creating offline apps.
Sometimes, "Stereotypes are a real time saver," as The Onion put it. Growing up, Lee's Comics in Palo Alto, CA was my neighborhood comic book store. Working there from the early 90's, there was a guy named Jeremy. I remember vividly the day Comic Book Guy from the Simpsons was introduced (or shall I say, First Appearance). When I watched that episode, me and every other kid within a ten mile radius said, "Jeremy!"
After school the next day, me and my friends went in, ran to Jeremy and said, "Hey Jeremy, did you watch the Simpsons last night?" "Yes," he said groaning, and obviously tired of the question. Why was he tired? Because Jeremy looked exactly like Comic Book Guy - Beard, receding hairline, big rotund body always wrapped in shorts and t-shirts. Only difference was that Jeremy wore glasses.
Jeremy, Real Life Comic Book Guy, wherever you are now, I salute you. You were a huge impact on the lives of many kids in the 94306 zip code.
It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.