why it take so long, or actually why people think it should be faster ...
to the initial question .... mmhhh hard to answer
to the alternate question... well .... Apple's fault, they did make the customer think their yearly phone and mOS release seems like something "absolutely" mandatory and "totally" needed
for android ... well it does not work like that .... really ....
as for everything, if it's not completely broken : don't fixe it completely, patch it! (uh... not "sounding" like it should... ah, whatever, security patch were always up to date with my N5 )
the actual trend with Apple is : if it's still working: break it with a new OS revision or cripple it to make the user think they need a new one ...
enough with the Apple personal rant ...
a couple of example for Android (personal): my Minix Neo U1 is at best under 5.1.1, everything i need it to run runs perfectly, my Shield Tablet (backup i got for free in a "tinker" bundle ) work under 5.1.1 (thanks Nvidia for the Killswitch .... ) custom, does it work perfectly? well it does work perfectly fine (albeit the security patch .... but well ... nothing happened either )
my Nokia 5, run 8.0.0 since a little moment, since it's not a "carrier" branded the update came faster ... or actually it came the day it should have without any further delay for any stupid reason the carrier thought it would be great to add a bunch of idiotic bloatware, also a stock Oreo, actually carrier branded phone are just plain idiotic (just like contract, but, hey that's the only way to have the latest smartphone from overly expensive brands at a decent price .... or... is it ... the leasing might be more expensive than the initial price .... tho ) also, i should be happy that update had no glitch/bug/malfunction like some other update across various devices.
did the switch from 7.1.2 to 8.0.0 bring "HUGE" change? nope ... absolutely not, well the settings did change, a lot, but it's for the worst and not the other way (i will manage .... the other function still work perfectly) also for my Shield, 5.1.1 is deliberate, i could cook a custom 7.1.2 or 8.0 for it but it's fine as it is.
conclusion, aside from my N5, none of my Android devices run with the latest one, but they run just as fine as my N5 just 1 or 2 app does not run, those who don't give a backward compatibility down to 4.4 or lower ... or those who don't work on 8.0.0 (in the second case... i rather think the OS update wasn't necessary and it's not the fault of the app dev) luckily most of the time, it's not some app i used that often, most other apps are fine.
Haha.. oh.
Well there i ask, why does it take so long for windows to do incremental updates?
The problem is testing it across so many devices is one reason.
that's also one answer ... for android, easily understandable, for the other "half" of the smartphone world, less (and it's the one that has less model that have the most issue on new mOS release

)