However, in the long run, it is likely that open platforms will win. Eventually, the Android ecosystem will get to a point where such software updates stop being a challenge. Then you can just buy a generic Android phone and nearly everything will work. Probably it becomes similar to buying a Windows PC.
But you can't get security updates for a long time, except for a few models into which manufacturers or enthusiasts put efforts.
Linux kernel does not have a stable binary interface. Most phone devices (cameras, fingerprint sensors, even video controllers and radio modules have closed-source drivers. You can't expect manufacturers of these parts to update the drivers for their 3-year-old components for a newer kernel: they want to sell this year's parts instead. Reverse-engineering these drivers is tedious, and only buys you a few years on a handful of models.
Long-term support works for Apple because they have essentially one line of phones, with a narrow set of components, and an enormous power over suppliers. So they can afford to buy serious users' loyalty.
I understand there are flagship devices that don't have this problem, and maybe this is unfair of me, but I came to expect that devices using Android would likely be riddled with garbage from whatever OEM was relying on the OS. While I do think it's cool that Google made Android so open, it also opened a bit of a Pandora's Box.