I'm going to largely to with "Forgetful" there. My company issued us all new phones to replace our old Blackberries in August, and most people chose iPhone4 (not 4S; it wasn't out yet).
I'm very happy with my decision. I got the flexibility to add an extended battery (which I did), add more memory (which I have not, the included 32GB SIM is plenty!), change out the keyboard (currently running a Graffiti-based "keyboard", ah the memories of PalmPilot character recognition with Android accuracy in recognizing the letters!), change the launcher (Go Launcher), etc. None of this is possible on iPhones. I also got an 8MPIX camera before the iPhone had one available, and it's replaced my Lumix as my daily camera.
But a lot of people are not geeks like me. They want a phone with some extras. They don't want to get into the icky world of having to replace a battery or a SIM card; they'll simply buy a new phone with more memory. They want their phone backed up automatically. They run Windows or Mac so they can use iTunes (I run Linux).
Meh, they're both nice devices. I like flexibility. Some people prefer simplicity.
But if I could upgrade a iPhone4 to an Android, I'd do it in a heartbeat. An iPhone4S? If I had one of those, maybe I'd hesitate a bit, but in my case I'd probably still do it.