Earlier quoted context omitted.
Fairly decent? The iPhone 5s from 2013 just got an update and it’s the carriers is a poor excuse. Apple runs on the same carriers. Google’s first party phones don’t have third party bloat ware and still have a piss poor history of updates
And guess why? Because ~3-ish years used to be what the SoC vendors provided as BSP support timeframe, and there was no mandate that they open up their specifications. Most don't even care about following the legal minimum aka provide the kernel and bootloader source code, especially not all these fly-by-night gongkai "brands".
They have chosen not to.