This post shows that iPhone has the same problem: every iOS version is a fragmentation point. If you want to support version X1, X2, X3, X4 etc. of iOS you have to make sure it works on all those versions, just like if you want to support version X1, X2, X3, X4 etc. of Android, you have to make sure it works on all those versions.
The post shows another thing: that while Google makes it easy for developers to support all OS versions by providing decent development tools (i.e. emulator that supports older OS versions) and providing developer-friendly phones (so that you can install different versions on the device).
In contrast Apple makes it difficult by forbidding developers to downgrade their phones for testing or providing emulators for older devices so developers have to jump through major hoops to make sure that their software runs on devices that are still being used by a nontrivial amount of users.
To summarize: in practice supporting multiple version of Apple's iOS is harder than supporting multiple versions of Android due to Apple's shitty developer tools and their general shitty attitude to developers, at least according to that one developer.
[1]:http://technmarketing.com/iphone/peter-vesterbacka-maker-of-...
- Resolution differences, and no real scalable interface APIs. - HTC vs Blur vs Samsung's distribution of Android. They all dick with stuff their own way. - Physical buttons on each device. Some are overly sensitive capacitive buttons, clicky buttons, or high latency. Each require model specific code.
You can verify this by searching the release notes for apps in the Market. There's commonly caveats for certain models.
Keep in mind, Apple occasionally charges for iOS upgrades, so requiring an upgrade effectively increases the cost of your application by a nontrivial amount. Not all users want to upgrade, especially when upgrades degrade performance and have limited new features for older devices.
Apple attributed the fee to strange accounting rules (something dealing with when revenue is recognized - I don't exactly recall off hand) - rules which were recently changed. Just an excuse to milk some more cash out of iPod touch users? Maybe - I won't argue with you on that. But as of iOS 4.0, Apple no longer charges iPod touch users for updates.
"Not all users want to upgrade, especially when upgrades degrade performance and have limited new features for older devices."
Here is the real roadblock to updating. 4.0 has rendered my 3G frustratingly unusable. In my mind, those who haven't updated fall into three camps:
1. Those who jailbroke and haven't gone through the hassle of updating
2. Those who could care less about new features/aren't aware there is an update
3. As you mentioned, those who have older devices and don't want to update because of performance or development reasons