My biggest issue is that I'm stuck on some ancient version of Android. OS updates are the responsibility of the carriers, yet they carry no liability when they don't offer the updates in a timely manner (or at all). I'm sure old iPhone hardware has a limit, but they are certainly guaranteed to get updates for a much larger time frame than a majority of android devices.
I can root my phone, and I have rooted some phones, but the same issue exists there as well. As soon as the phone hardware is sufficiently old you can no longer find well supported updates for the OS. These updates are also often offered by random, unknown individuals, which is obviously a big risk. The problem is even more difficult when phone manufacturers are actually successful at preventing rooting.
I'm fine with old hardware eventually not being able to run the latest OS, but I have no indication of when that will be. When I buy a new phone, I don't know if I will get updates for 5 years, or even less.
Why do I have to upgrade my entire OS just to get security updates? Why can't I have patches?
Imagine if BestBuy were tasked with making available Windows updates for that Dell you just bought from BestBuy. No, I'd much rather get my updates directly from Microsoft. I want the same thing for my phone, updates directly from the OS maintainer. If I have to buy an Apple product to get that, then they are the winners in my book.
(I own several Android devices and no Apple devices. I'm thinking of buying Apple in the future.)