Not to mention lack of software updates for many otherwise perfectly fine Android phones + lack of drivers/specs/image signing/locked bootloaders making it hard for community to take over.
Yeah, my last Android experience was a Pixel C tablet, not a bad bit of hardware, but abandoned by Google with broken GPU drivers (https://issuetracker.google.com/issues/71522801?pli=1)
(Not a hardware problem, older OS versions had been OK, and I eventually got it working with LineageOS for a while)
Having to get a phone to an Apple store, let alone mail it in for a 'battery service' and have no phone for a few days, is a surprisingly big obstacle to just replacing the battery and keeping an older phone running for another few years.