If there's one important difference between Android and other operating systems, it's fragmentation.
At no point has there been one leading version of Android. Even new devices have different versions of the operating system, ranging from early versions -- such as 2.3 Gingerbread -- up to version 4.2 Jelly Bean, the most recent iteration.
It's in vendors' best interests to keep the specifications of their devices secret.
The reason for Android fragmentation is that new versions are released quickly, and device makers can't keep up. Offering the newest version of Android to users involves more than just installing the new version on the device. Because the Android OS is integrated tightly with the underlying hardware, device vendors have to adapt the new operating system version before they can deploy it. In the best case, it takes months for manufacturers to adapt a new version of Android and make it available to users, but that usually only applies to the more popular Android devices. For less popular devices, a new version might never become available at all.
Further, the popularity of certain devices doesn't always play a role in the availability of updates to their current operating systems. For example, the Samsung Galaxy Tab 2 7.0 still runs Android 4.0.4. Despite the fact that an update to Android 4.2 has existed for a few months, Samsung has not made that update available to Galaxy Tab 2 users yet. In some cases, manufacturers turn their attention away from providing updates because they're focusing on developing new hardware instead.
But given the open source nature of Android, it is curious that there is fragmentation at all. Android is based on the Linux kernel. On computers, the open source Linux OS offers an advantage because drivers are released as open source and they become available for all immediately. But the mobile market is different from the computer market. Development of new mobile device hardware moves quickly, and it's in vendors' best interests to keep the specifications of their devices secret for as long as possible. If those features were open, then device-unique features would be available to everyone.
The lack of access to driver specifications means that vendors and carriers have to be responsible for making updates available for their devices. Google cannot do it for them, because Google would need full access to source code to make devices compatible with the OS. Still, vendors don't have many reasons to update old devices to the latest version of Android: People using those older devices have already purchased the device, so it makes more business sense to focus on new customers.
Administering fragmented devices
For the IT department, Android fragmentation poses a real challenge. The application programming interfaces in Android have changed significantly between versions, so it is hard -- if not impossible -- to run apps that were written for a recent release of Android on an older version of the OS. Android fragmentation makes it difficult to provide the same functionality to all users.
Android fragmentation also makes mobile device management (MDM) harder. If users bring their own devices to work and IT wants to manage them, IT needs an MDM tool that can support as many Android versions as possible.
Given the current market conditions, it isn't likely that a solution for Android fragmentation is coming soon. Some IT departments may have to limit the devices and OS versions they will support in bring-your- own-device scenarios, or only support company-purchased Android devices.