Developing a new shell for Windows was technically possible, but must have seemed like an outlandish prospect to companies like Compaq or Dell. ("Where are we going to hire a bunch of C developers who know GUIs and can do a better job at this than Microsoft? Forget about it.")
Some companies did go there -- for instance, HP had an advanced Windows shell called NewWave [0], but I don't think they ever built PCs specifically for it.
Today, the situation is very different. The executives at any old phone maker will look at Android and say: "That's just Java, isn't it? We have plenty of people who know Java. Hell, there's a school down the road where they train 100 Java developers every year. Let's do it! We can be a software company too, just like Apple!"
And of course we know how that turns out. But it will take a long time until the executives at all those LGs and HTCs will recognize that their organization sucks at software, because it's not a software organization at its core. (Nokia spent tens of billions of dollars on Symbian and MeeGo until they finally got this lesson, and they ended up selling the phones to a software company.)
It's one thing to swap out PROGMAN.EXE, as HP did with NewWave. But you're not allowed to interfere with the ability to run Windows Update.
Microsoft's entire business model has always been OEM prebundling, in which updates happened by buying a new computer. That is why many companies are STILL on Windows XP.
Anything else is bullshit coming from young people that haven't felt how the industry evolved during the nineties. And Android is very unlike Windows because Android is open source, Android can be ported by third-parties and Android can be forked.
For those interested in having the latest version (most consumers aren't even aware their device is outdated, or don't care) there's CM and similar options. Driver issues exist with some hardware (Samsung Exynos for instance, prime example), and that's a shame, but it's not much different from going to GNU/Linux on x86, which I find is comparable (more up to date, generally better performance and UX, non-proprietary, but some hardware incompatibility)