I've never owned an iPhone, but I think a lot has to do with the different Android OS's and model phones too. Think about it, I've been a happy Android user for about 2 yrs now. Android has come out with 4 OS updates. IPhone has had only 4 model phones since their first smart phone came out and I believe only 2 iOS updates. Since all iPhone's are made by Apple and they tell the developers what they want and control how its done. All their apps are uniformed with hardly any changes to the app to run on any of the iPhone's. With Android, not only do developers have to create apps that are compatible to the many different OS's, they have to make them compatible to the many different model phones and screen sizes. (Which can be challenging). That's why Android apps are updated so much. People report problems to the developer, the developer creates a fix for that particular device or suggestions to improve the app.
So I think its because Apple has, one smart phone with the same screen size. There all running the same iOS and they have complete control and testing of their apps from the developers. With Android, you have some many smart phones with different screen sizes, OS's and open source development of apps.