How did Android's update support become so inconsistent?
As a point of comparison, Microsoft ships its OS across a variety of manufacturers and largely keeps it maintained across them (give or take some exceptions like enterprise environments & the like).
Even unlocked Android phones purchased independently of carriers have inconsistent lengths of support, so it doesn't seem to be entirely a result of carriers, so...What happened here?
Bad control over the hardware. Android is 100% open source, but alas, not all drivers are. To be honest, it's by design of some manufacturers (Samsung for one, Mediatek is another) to keep drivers of hardware closed source so updating the OS of your particular Android based mobile OS lags hugely behind Android.
Android gets monthly security updates, which need to be included in the OS of the phone manufacturer. Lineage has weekly builds for their code which include the monthly security updates. Phone manufacturers are only required to 'supply updates for 2y after introduction of the model (not after end of sale), which requires them to give 1 upgrade (major version).
Alas, support for the wide variety of Android phones hinges now for 100% on the effort of the custom rom developers. For example: The 2011 Samsung Galaxy S2 has an unofficial Lineage 20 (Android 13).
To many devices running the same opensource software without the requirement to make the drivers open source.
Apple is completely closed, Microsoft has it's Windows closed with the option for hardware suppliers to supply the drivers (which need to be conform to their specs) Android is based on the Linux kernel, which would require hardware manufacturers that make drivers for the kernel to supply the drivers, but alas, as it's not a company, no methods to enforce this is available.
When you want consistent ANdroid updates, you need to either:
buy Google Pixel (Google is pretty consistent in updates)
buy a nice brand that offers 5y+ guarantee (include updates)
buy a device with active custom rom support, for example Lineage (worst case, you can update the device yourself as the code is available)
Well that's something at least. I also hope we get some more brands. I'm in the process of looking for an upgrade to my phone as it reached its update limit. As of right now it leans towards the Pixel.
I would prefer to not go back to Appel, but I really don't want to get a new phone ever third year because it doesn't get any more updates, and I'm not comfortable with instaling a costume operating system. Especially not on something that holds one of the most important identification items of my country and also the banking.
There are other custom ROMs as well which get frequent updates monthly. Like my Lisa got official LineageOS support after 2y of its release but there were other custom ROMs during that time and even now.