Which one should you choose?
It turns out the decision is quite easy.
- If you want to stay with T-Mobile or Sprint -> Android
- if you are with Verizon or AT&T then ...
- the phone is for a younger teen or child -> iPhone, Android has no parental controls
- you want software without advertising -> iPhone, Android apps are almost entirely ad supported
- you are an iTunes user and buy iTunes video/movies -> iPhone, Android phones can't play iTunes DRMd video or music
- you want to avoid malware -> iPhone, the Android marketplace is not curated
- you want the device to have value in two years -> iPhone, it can be used as an iPod touch equivalent after its phone lifetime has passed
- you want software and OS support over the lifetime of the device -> iPhone, Android device manufacturers rarely provide more than a few months of updates
- Google voice is very important to you -> Android, on the iPhone it's not fully integrated
- You don't have, or don't want to use, a classic (legacy) computer -> Android 
- You want Google Apps support -> Android 
- If none of the above is true, you can save 20% of the phone cost by buying an Android phone 
 Assuming $500 in mandatory data fees over the 2 year contract span, prices are about $550 for an Android device and about $700 for a comparable iPhone.
 BlackBerry is walking dead. Talk to me about Microsoft's phone in a year or so. Nokia? What's that?
 I assume Android doesn't require a legacy (Windows/Mac) computer. The iPhone expects one, I don't know if you can really use an iPhone without iTunes
 iPhone is a mediocre fit for Google Apps. I assume Android is better, but nobody talks about this.