Edit: There was no CM support, no way to delete bloatware, forcibly disabled SD storage support, and non-optional updates that eventually rendered the device unusable. The two end-user choices were to either remain offline or get stuck in "not enough free space" loops.
The case is all scratched up, the protective glass has been replaced two times already (and is up for another replacement soon, touch tends to stop working on cold days in bottom part of the screen), but I am holding on to it, because I haven't seen any newer phone that I wouldn't hate.
They're all either too big (remember when it was cool to have as small phone as possible?), or they lack features like unlocked boot or even a SD card slot.
I'm thinking of going back to some dumb feature phone, if I can find one with good support for importing contacts from outside.
Supporting/updating devices requires active planning, but then you get cries over companies that actually do perform updates and get the whole 'planned obsolescence' conspiracies.
So if your (example) Samsung device gets updates for 2 years, then the planned obsolescence for that device is 2 years + a few months. The amount of months depends on the severity of the security issues discovered. Also, it may not be "planned" obsolescence, but it sure is "accepted" (from the vendors point) obsolescence. Which is even worse.
On a side note, as a customer I don't care about internal structures of companies. I want updates. If they can't deliver that, open source everything.
The software update case you wrote is a good example of planned (or accepted) obsolescence by the developer.
And most Android manufacturers are hardware companies - their margins are too thin to support/maintain the software side of it. 90%+ of their R&D budget is hardware. It's the same as HP's computer division. No they are not a software company, they use MS Windows as the OS and make sure the correct drivers are present/integrated. This is exactly the same on Android. They buy off-the-shelve chipsets, integrate their drivers - which are developed by the chipset manufacturer - into Android, pour over some crappy GUI customization, in many cases developed by a 3rd party, and they're done.