For one simple reason: Apps can run in the background.
The iPhone is amazing, the apps that have been developed for it are incredible and useful. The user interface is a dream. It is truly unfortunate that Apple hasn’t been staying true to it’s roots as an operating system and computer company and is bowing to the desires of the overly protectionist mobile industry. The development environment is good, the fact that they were forced to open it up is kind of sad. They should have had the foresight to do so themselves. Unfortunately they are dictatorial and don’t encourage innovation beyond the framework they have setup.
The Android platform on the other hand has serious user interface issues (though not nearly as bad as Windows Mobile or Symbian S60). There are some good apps, it doesn’t have the clout that Apple has garnered over the past year and a half or so and so on. The big difference, they are open, open, open at least in terms of app development. You don’t have to distribute your App through Google or the carriers, you can simply allow people to download it directly from you.
Now, Android isn’t perfect, it still has to work with the carriers and therefore bow to them in many ways but having just played with a friend’s G1, I have seen the light.
You can background applications..! This means that theoretically I can have additional services running in the background all the time! Twitter can alert me when I get a direct message, I can continue listening to AOL Radio while I check my email.. Apple limits these capabilities to their built-in apps and services (phone calls, SMS). Google seems to have it right.