While I'm as annoyed at Apple as you are (environmentally friendly my arse), Android devices don't exactly have a history of frequent and timely software updates. The saving grace is that new apps often still support ancient OS releases.
If only there was a way to distill that information to the less informed consumers.
Even with custom ICS and JB roms this is a problem, but there people know what they are getting into before hand, and also for rooted devices, there's ext2sd which basically uses your sdcard to store user data.
Google fixed this with Nexus S and forwards. So we have to wait and see how long the Nexus S will be updated.
Lion and Snow Leopard and Vista and countless other old OSes get updates. XP still won't get EOS-ed for another 2 years.