My issue is in making devs comply they are cutting off support when a device could be 18 months old. My Gen 2 iPod touch is still a fine piece of hardware, the battery still works, few scratches on the screen, but as a result of no more support for 4.2 when 5 came out, it essentially bricked itself when all the apps updated one morning.
A day or two later resulted in a workaround, and apparently this has been fixed, but an update to a single generation of software that happens every 12-18 months negating previous hardware spells a planned program to cause people to buy more hardware.
I consider Microsoft a software company that is now getting into hardware to keep their software relevant and Apple is a hardware company that runs a little software division on the side to get you to buy more hardware.