Further, manufacturers have no incentive to upgrade your software because they're already adapting their changing custom code to their NEXT device that they'll launch 2 weeks later as a "sequel".
But, we've all heard this before. Not all Android devices are built the same, not all the software builds are the same. Many devices are more "open" than others, and some models (read, Nexus line) get timely updates.
I don't think it's unreasonable to compare Nexus vs. iPhone and leave many of the other Android phones in a separate class. As an Android user, that really doesn't bother me.