The hardware could be completely capable of handling it but the software isn't. A lot of times when you buy an ARM SoC it comes with a supported kernel from the manufacturer and some documentation(but sometimes for various reasons a lot is missing). To ensure that you can always port the newest version of Android to a phone you need to ensure you can port the newest kernel. Limiting yourself only to well supported mainlined chips or to chips that you have all the documentation you need to maintain your own branch greatly limits your options and can run up costs a ton.
Have you used an apple phone from 2010? Yes, they provide updates, but the updates make the phone incredibly slow and almost unusable. I'm not implying that apple intentionally does planned obsolescence updates, but that is what happens when you run new software on old hardware.
There's a middle ground here though. The iPhone 4 is legitimately pretty shitty on iOS7, but the 4S runs the newest OS just fine. I've tested some pretty demanding apps on 4S/iOS7 and the thing barely breaks a sweat.
And that's a 2 year-old phone. I don't think it's unreasonable to expect at least one major update out of new hardware, even low-end.
That's fine. the 4s, the oldest model phone that actually continues to work with their software updates, came out 80% through 2011. That's a little different than saying apple still supports phones that came out in 2010.
The Galaxy Nexus was launched in the US 2 years ago today. It was sold until about 1 year ago, by Google. They are refusing KitKat for it due to it being obsolete.
A (barely more than) one-year-old NEXUS phone is obsolete......