- OS and device by same company. The OS is always optimized for your device.
- Apps are guaranteed to work. If an app is not compatible with your model, it is likely because you have an older model, that has been out for many years, and it just doesn't have the hardware to run it. If you attempt to purchase an app that is not compatible, you are shown that your model cannot run the app, which models can, and are not charged for the app.
- Now available on all major carriers.
- No longer need a PC to activate or set up device.
- Noob friendly, while still hacker friendly (Jailbreaking)
- Apple stretches old hardware to its limits, offering major OS revisions for every device that has the hardware to run it.
- Battery is not removable
- No storage expansion
- Screen is not AMOLED
- No refunds on iTunes App Store
- Open Source OS
- Available on all major carriers since the beginning
- Never required PC to activate or set up device.
- Most, if not all devices have removable batteries.
- Storage expansion is available, usually via microSD
- Hacker friendly
- 24 hour refund policy (one time per purchase) on Android Market
- Community of hackers try to extend life cycle of devices that carriers and manufacturers abandon. Can sometimes add new functionality (for example, FM Radio in certain Broadcom chipsets).
- Devices available with hardware keyboard.
- Multiple On-Screen Keyboard support, including Swype
- Devices with similar or better hardware configurations as the iPhone are often less expensive.
- Too many various manufacturers with various configurations.
- Not noob friendly. Best performance when "rooted", or using a "Custom ROM". Users who are unfamiliar with the underlying technology are alienated.
- Performance increases often come at the cost of stability.
- Some manufacturers don't properly optimize the OS for their hardware.
- User confusion. If an App will not or does not work, usually crashes or causes other undesirable effects. No way to easily explain to user that their hardware, ROM configuration, and/or kernel are not compatible.
- Carriers tend to install spyware hooks into Android framework ~(Not Applicable to unlocked, unbranded, non-contract GSM devices)
- Life cycle of devices can be as short as one minor version upgrade.
- Upgrades depend not only on the device manufacturers' interest in continuing support for your device, but also your carrier's interest. Usually this conflicts, and can delay upgrades by up to 6 months, or prevent them completely. ~(Not Applicable to unlocked, unbranded, non-contract GSM devices)
- Manufacturers make so many variations of their device, that they cease support for the previous model in less than 24 months.
- Older versions generally unstable.
- Community hacked OS generally unstable or missing device-specific features.
- Refunds can take up to 10 days, a long time if you are on a budget and just had to get a refund fpr a non-working app.
It really boils down to how much you want to pay and how reliable your device needs to be. Android has too many variables to be 100% stable on every hardware configuration. Any OS would struggle with so many various devices and configurations. The iPhone has the advantage here, having the OS written by the same company that chose which hardware is in the device.
That is not to say there are not any decent Android phones. I cannot offer any feedback here, as I do not have the money to buy every variation that shows up every day. Finding an Android phone can be a trial and error effort. The most expensive variation is not always the best. The Samsung Galaxy line seems stable, however the HTC Hero was a complete and total failure. Your milage will vary extremely from device to device. This makes it hard for me to trust any Android device.
With Apple, you know what you are getting. If you don't like it, you will never like it. You don't have to return it and try another iPhone model. You either like the iPhone, or don't.
I have chosen the iPhone because when I had Android, it was in its infancy. Cupcake (1.5), Eclair (2.0), and Froyo (2.1) were the prominent versions. You only had Froyo if you bought the latest and greatest device at the time, which is probably a paperweight now. Anyone on a budget (Read: $200 or less WITH CONTRACT) at the time was going to get a horrible unstable device. Android may (or may not) be better now, but since this is how it was when I was in the scene, it is easy to see why I switched.
I now have a huge stock of iOS apps, well over $200 worth. I would have to re-purchase all the apps I use if I was to switch back to Android. I don't have many purchases on the Android Marketplace because at the time, there were not many useful apps that actually ran correctly on the devices I had.
Personally, I don't see the purpose in buying an Android device, then having to turn around and buy all my apps again. Similarly, if you are an Android user, and happy with your device, you see no purpose in purchasing an expensive iPhone and buying all your apps again.
TL;DR: When I jumped into smartphones, Android was unreliable. As such, I switched to the iPhone and built an extensive app library. I still don't trust Android because the best hardware does not imply the best user experience. It is currently not cost effective for me to give Android another chance.