Gimme a break. They support old hardware a lot longer than their competitors, but eventually, it's a business. They want to sell you a new iPhone. AND, they don't want to spend man hours developing and debugging for a five year old device.
Look, I don't agree with pubwvj anymore than you do, frankly his comments are off base and show a great lack of understanding of how software and hardware interact and how lifecycles need to be managed to be kept manageable.
However, to say Apple support old hardware a lot longer than their competitors is equally insane. Apple basically has no LTS. Microsoft supports legacy technologies and hardware platforms a lot longer by keeping their driver architectures intact a lot longer, by offering extended support lifecycles on older OSes, etc..
HP is just amazing at it. They are still supporting, actively, 24/7, 10 year old hardware I have, running a 12 year old OS. I get updates, I get phone support, etc..
Now, Apple is a consumer company, whereas all the other players pretty much have a hand in enterprise. Is it a fair comparison ? No. Consumer tech moves forward faster than enterprise tech and LTS isn't required by consumers. After 5 years, devices either still work fine or get replaced when they stop working fine. There is no need for active support, nor for dragging along legacy support for things you've discontinued 7 years ago (like PPC support for instance).
But let's no pretend "Apple supports older hardware longer than their competitors", please. Let's keep it to the facts, understand the facts, and know why it is like it is. This isn't a blow against Apple, quite the contrary, it shows their great understanding of their market segment, the consumer market.