"Funny how that works when people insist on buying the cheapest no name Chinese crap. "
In my experience, buying from a known manufacturer (rather than a cheap no name make) is no guarantee. I've had an N95 on O2 that received no updates, despite Nokia actually throwing them out at a rate of knots, and an HTC Tytn that only recieved an update when HTC bypassed the carrier totally and released the update themselves.
As I understand it, that is the problem with Android updating. The number of companies that have to approve the update before it's distributed to end users. As I understand it, the process is supposed to go as follows:
Google (or other open source developer) develops a patch for Android. Google tests the patch.
Device Manufacturers test the patch. They release it, or throw it back to Google if they find faults. They can create patches for their own software if needed. Assuming they release a patch, it then goes to the carriers for testing, Again, Carriers will either release the patch or block it. As you can see, there are at least three organisations that need to approve the patch before it's released to the public. Those companies are looking to make money, so won't necessarily want to patch older phones, wether the bug being patched is in Android or elsewhere.
Apple, on the other hand, have a much simpler process. They don't have any device manufacturers to deal with, so that's one step gone. They also don't allow the carriers to add their own software, so while carriers do test new versions of iOS, they have almost no control over its release schedule.
Don't get me wrong. Apple are not perfect. Any device more than 2 or 3 years old will rarely get updates, and I think that is something that may need to be looked at.