Apple meanwhile is the sole manufacturer for phones carrying their OS and as far as I'm aware severely limits the ability of carriers to customize the OS. This means updates are more or less instantaneously available.
There are advantages to Android strategy though, primarily the cost to manufacture and field a device. Carriers and manufacturers can bundle their own ad/crapware into the device to offset costs. This comes at the cost of security and user experience. But, if you get a flagship "Google" phone, such as a Pixel, you get first access to updates without most of the compromises, however you're paying flagship prices.
Not to diatribe too much, but as much heat as Android gets in these arguments, I think the Pixel models are very competitive against Apple when it comes to quality.
As a developer though, the Android system is hell depending on what you're doing. We're on API 27 (8.1) and the amount of devices still on 21 (5.0) and below is nontrivial. Especially outside the US. The changes since 23 (6.0) are significant (and for the better), but to implement features across such a wide range of APIs leads to pretty significant bloat and maintainability issues. On the flipside, I have reasonable assurance an application I build right now will work on a device three years from now without modification, not so true with Apple.
Aside from saving dev money, being able to target only the last version or two is a real boon for indie/solo devs. It allows them to focus on improving functionality and fixing bugs instead of smoothing out version specific issues.