There are a lot of reasons not to choose an iPhone. iPhones aren't always available or an option outside of the United States, so I'll approach this question with the assumption that you are a US Resident.
Before I begin listing reasons, I would like to remind readers that technology is a moving target, and new-generation devices will always attempt to overcome their past flaws. I'll also be primarily addressing Android as the alternative phone.
- While physically a beautiful device, the iPhone is known for not being particular robust and is prone to cracking.
- Screen size. You only have one choice with the iPhone. If you are a heavy media consumer, that extra screen space may be just what you really need.
- More integrated ports on non-iPhone devices. Many new smartphones have an integrated hdmi port; I'm not sure if the iPhone ships with their hdmi dongle or if that is a separate purchase.
- Standardized micro-USB cables. There are simply more devices that use micro-USB cables, which in turn makes it easier to find a cable to charge with if you forget yours.
- Removable battery. While the iPhone has one of the best batteries, without a removable battery you can't expect to quickly double your phone use by exchanging for a new battery.
- In regards to the camera, the iPhone consistently has one of the best phone cameras; that being said, you can find equally good cameras on other phones.
- You won't be finding a hardware keyboard on the iPhone anytime soon.
- Most comparable smartphones these days are just as expensive, but buying an iPhone often means buying into their suite of products. Let's not forget Apple has a pretty high markup on their products.
- We can't forget about app purchases either! Do iPhone users spend more money on apps than Android users?
- Both Android and the iPhone have a comparable selection of apps.
- BUT Android has widgets. Widgets allow for users to quickly access content and actions of their most used apps.
- Oops, I forgot about Google Maps/Navigation. While Apple may be rolling out their own navigation system, they are going to be hard-pressed to meet the bar of quality that Google Navigation has set.
- Oh wait, there's also the ability for apps to run in the background. This ability unlocks a whole different class of apps, ie. location based tasks that remind you when you enter or are about to leave a particular area. I was reminded that the iOS does support limited background processes.
- Android gives its users a much greater flexibility in customizing the look and feel of their device.
- Home Screen Launcher apps will unlock an incredible amount of nifty UI features that really make the experience so much better than the stock OS. For example, you can "long-press" an icon on your homescreen to uninstall. You can change the animation between screens and even the number of homescreens to make room for more widgets.
- The thriving Android developer community has made it incredibly easy to root your device and create some really beautiful home screens.
Android also has the option of using animated wallpapers.
- If you're a user of Google or Microsoft products, you will probably be better off using one of their respective mobile operating systems.
- It's really hard to beat Google's incredible integration with their own suite of products.
Well, some of these are pretty compelling reasons, but it's really just going to depend on your preferences. If you've got money and don't really care about customizing your phone, go with an iPhone. Although, I really do think Google Maps and Navigation are just absolutely incredible, that feature alone is a compelling enough reason to get an Android phone.