Like every popular open source project, Android is dogged by the fragmentation threat. It's the nature of openness: the lack of a formal hierarchy means many different flavors of an operating system or package could appear on many different devices.
At OSCON, I asked "Learning Android" author Marko Gargenta if fragmentation is a looming problem for Android. He doesn't see it that way. Fragmentation, to him, is a side effect of accomplishing a goal:
Keep in mind, when Google started the Android project, their goal wasn't a specific device. Their goal was many, many different devices, with many, many different companies adopting this platform. So, fragmentation is sort of built into the nature of the project. There are going to be different flavors of Android out there. That's not necessarily a bad thing. What's been bad is for a consumer not knowing what application is going to be able to run on what device. And to address that, recently the Android project has released a definition of what compatibility means. [Emphasis added; question asked at the 3:24 mark in video.]
The full interview is embedded below.