Re: Upgrades !
Pretty simple really... MS owns Windows and PC manufacturers don't modify it. Sure, they may install bloatware and crapware when they build a PC, but they cannot modify the underlying operating system. This means MS can freely update the OS at any time without (generally) obliterating whatever the PC manufacturer has installed.
Android phone manufacturers are free to modify the operating system to add their own bloat/crapware and other "features" that you can't remove without rooting and reinstalling a clean OS.
Because of this direct change, Google cannot simply release an update an have it install on your phone. Chances are a lot of things will break.
Instead, your phone manufacturer gets the updates from Google and decides if they can be arsed to go through the modification, testing and deployment hassle all over again with the new version.
How much they can be arsed depends on the age and probably cost of your phone i.e. newer flagships are more likely to get an upgrade, older/landfill can forget it.
The simple answer is Google should make it a condition of using Android that manufacturers cannot modify it, at least not in any way that prevents Google applying OTA upgrades directly.
There's probably a dozen or more contractual and incentive-based reasons that will never happen.