It's easy to look at this cynically but it's not unreasonable to change the conversation. Google's exploitation of "open" has been disingenuous at best. When you try to square their high ideals against reality, you end up in an uncomfortable spot. The fact is, Android's openness does not make it to the end user . Its openness is exploited for the benefit of the carriers to load branded crapware onto the device, disab…
First and foremost, I don't have to jailbreak my phone to install apps not "approved" by Google/the carrier/whoever. I can download an APK from anywhere.
Secondly, the code is open. This does matter in practice, because there are people who can and do take advantage of this to create modified versions (e.g. Cyanogen). If Google decides not to take a particular direction, but enough people want it, it can happen.
Thirdly, it's not tied to one hardware manufacturer. Apple may make great hardware, but they attack a certain target market, which not everyone fits into.
Finally, although your argument about carriers has some truth, it misses a couple of points. It's not like iPhone users are exempt from all carrier restrictions - why can I tether via my Android phone yet iPhone-owning friends cannot? And there is nothing about Android that forces you to use a certain carrier (ironically, in the US, it's iPhone users that have no choice of carrier). I purchased my phone on T-Mobile in the UK, now I use it on another carrier in Australia, no problem.