The problem is not Android itself. The problem is that Manufacturers keep adding their own launchers and costomizing it so much that Android phones from different manufacturers end up looking like they are running a different OS.
Since you can always change the default launcher to the stock Android or one of many third party ones, it's not an issue.
Heck, sometimes the customization turns out pretty cool, as noted a few posts ago.
Also there is the well documented problem of fragmentation with all the different hardware specs.
I take it you're not a developer.
Yep, there are different screen resolutions, just like the two types of iPhone displays and the iPad. (And perhaps the iPad 2 or 3, as well.)
Yep, there are different device speeds, just like we have on iOS devices.
Yep, there are different device capabilities as far as gyro, compass, GPS etc go, just like with the iOS device market.
Yep, there are different OS levels, just as with the millions of iOS devices out there.
So what? These are all normal developer issues that have existed since the beginning of programming, and affect every brand and every OS. Even the Angry Birds developers have said device fragmentation is not an issue.