Because there are so many different Android devices (and so many variants of those individual devices), developers tend to begin programming their apps on iOS before putting together the resources (and endless hours) to begin porting their creations to Android.
Developing for Android is an arduous task, and Google knows it. That’s why the company will soon be making a concerted effort to streamline the development process. Google has also pushed manufacturers/carriers to stay as close to stock Android as possible by criticizing bloatware and OEM custom skins. But with different phones running different processors, having different amounts of RAM, different screen sizes/resolutions, etc., it’s tough to make sure an app will work seamlessly across the platform, no matter what Google does to ease the process. Android’s vast device offering can be seen as a major strength (and something that has led the platform to be an industry leader in market share) but it’s also been a weakness from the development side.