* Many of the devices share the same features physically. What matters for developers is what API Level the device supports and if there are any abnormal incompatibilities (which are rare). See here – http://developer.android.com/guide/appendix/api-levels.html.
* Android applications, by design, are intended to scale elegantly to various screen sizes. The elements tend to be relative, rather than fixed bitmaps (see here http://developer.android.com/guide/practices/screens_support.html). Not as pretty, but much more flexible. Keep in mind Android was originally intended to be used on a huge range of devices (toasters, watches, etc).
* Android 2.2 was a huge jump, feature-wise, over previous versions, from there changes were incremental (until 4.0). Make your app work with 2.2 and you have captured over 93% of the market. It IS a hassle for developers to have to run many different emulators for each platform version, but that’s part of the job – the user benefits.
* According to OSM, every time somebody flashes a different ROM on their device, it counts as a unique device. EACH revision of each ROM version, on each device, counts as a unique device. No wonder there are thousands. You can mix and match your own OS build from scratch down to the smallest detail (something nearly never seen on jailbroken iOS devices, last I checked).
* It’s relatively easy to root and ROM Android devices – but nobody has a clear idea what percentage of devices are. Manufacturers nowadays don’t particularly discourage or work round the clock to block these abilities – much of the time people update their own ROM to get the latest platform version.
* Is this even a bad thing? Consider the choice available. Whatever screen size fits your hand or preferences, or if you want a physical keyboard, or what your budget allows, chances are there’s something to suit you. Not everybody drives the same car, wears the same clothes or eats the same food, those markets are extremely ‘fragmented’ by that definition, but you can still find something you like.
* Ask the average user on the street why they want Android 2.3 over 2.2, or 4.0.4 over 4? You’ll be hard-pressed to get a decent answer. When something new and shiny appears, suddenly everything else seems ‘old’ where it was fine before.