I only skimmed the responses due to limited time, so I apologize in advance if this has been covered already.
Google and Apple have two very different approaches to updates. Google separates apps, APIs, and hardware support into three different areas while Apple does all three at once. Let's take a look at how each one compares, and then we'll see just which devices really are outdated in terms of software support
Apps:
Google has been breaking out their core apps since shortly after Android launched. On the iPhone, you get your Safari changes with firmeware updates. On Android, you get your Chrome changes every 6-8 weeks like clockwork, independent of the firmware. Google has recently even broken out their launcher, non-Gmail email client, and their camera. These apps can be updated on several phones released from late 2009. You know what iPhone was available in late 2009? The iPhone 3Gs (the 4 came out June 2010). That model is on iOS 6.1.6. Support is dead.
Also note that OEMS like HTC, Samsung, and Motorola are also breaking out their apps independent of the firmware.
APIs:
Google has rolled most of their API support into Google Play Services, which updates silently on most devices in the background roughly every 6 weeks. This recently had support removed for Android 2.2, so it now only supports Android 2.3 devices and newer. This helps newer applications run on older devices. This coincides with largely Google's apps policy, though many of their apps still support Android 2.2. Some of the earlier devices still rocking Gingerbread are the Nexus One, HTC Desire, and Droid Incredible, all from early to mid 2010. So, Google Play Services supports devices as old as or older than the oldest iPhone on the current iOS (iPhone 4).
Hardware:
That leaves the core Android OS. These updates often bring user facing features that are hardware dependent, though not always. Recent changes that are surprisingly hardware dependent are ART (Android Runtime) and some APIs (OpenGL ES 3.0 and 3.1). The latter, paired with the Bluetooth LE and 4.0 changes in Android 4.3, were 100% useless on older hardware that didn't support them. But hey, some people want that latest version number even if it is useless. As for ART, it only works on hardware if the SOC vendor (Qualcomm, Nvidia, Intel, TI, Samsung, etc.) has certified their device to run it - partly why the Nexus 10 on KitKat couldn't run it on Android 4.4's developer options.
Now, some changes aren't hardware dependent, such as Google's memory optimizations (KitKat) or new design language (L-release). But here's the funny thing about that. The majority of the material design changes will be in the individual apps (to include Google's Now Launcher), which when fully updated to use material design, will still work on older handsets. There are certain minor details that will be unique to the L-release, but otherwise you're fine. Also, Google has stated that their biggest change to their memory usage in KitKat was actually them reducing the footprint of their own applications and encouraging other developers to do so as well. On a Nexus or GPE device with no 3rd party apps (factory reset), this meant roughly 75-100MB less memory consumed on boot due mainly to smaller usage by Google's stock applications. These benefits also help non-KitKat devices.
Conclusion:
If you're on iOS, you need the latest firmware or you'll find that your device is quickly being abandoned by developers. If you're on Android, the latest OS only matters if you have the latest hardware. Yes, some vendors have been negligent in pushing updates that should otherwise have been pushed.
It seems you're desiring to upgrade to keep up with a perceived deficiency. Ask yourself this before you upgrade - "Is there anything that my device does not currently do, that I want/need it to do, that a new device would do?" If the only answer you can come up with is "I need the latest version of Android," then you don't need to upgrade.