Battery life is an area that may be difficult for smaller phone makers to compete on. I think Apple especially puts a ton of engineering effort and coordination into making iOS and their apps work efficiently with their hardware, reducing complexity, runtime cycles, and power consumption as much as possible, on top of already highly-efficient ARM hardware.
Over years of doing that (kaizen), the result is optimized hardware/software fusion with industry-leading battery life. But it seems like it takes a non-trivial amount of additional engineering time and effort to accomplish this, that will be difficult to match by smaller mobile tech startups.
I hope the open source community around Librem and Pine will be able to replicate that effort, but I'm not sure this kind of consistent incremental upgrade work is attractive enough to volunteer FOSS developers. And being maximally effective at it most certainly requires the parent company to coordinate the effort across hardware, software, internal teams, and external volunteers.
Same with Linux/Windows versus Macs. It is only recently that Linux/Windows laptops have begun to approach Macs in terms of battery life, and their battery efficiency is still far behind, especially with Apple Silicon being a thing.
Platform Model Life Size Efficiency
iOS Apple iPhone 13 Pro Max 21.7 4352 4.98
iOS Apple iPhone 13 16.8 3227 5.21
iOS Apple iPhone 13 Pro 16.6 3095 5.37
Android ASUS ROG Phone 5 16.6 6000 2.77
Android ASUS ROG Phone III 16.5 6000 2.75
Android ASUS ROG Phone II 16.2 6000 2.7
Android Samsung Galaxy S21 Ultra (S888) 15.9 5000 3.18
iOS Apple iPhone 11 Pro Max 15.6 3969 3.93
(Efficiency is just Life / Size * 1000)It's almost as if they deliberately added this seemingly bad option so people would choose the most expensive option iPhone 13 Pro Max. Because it would seem like the best deal out of three. I mean the Pro Max is just $100 more expensive than Pro, right?
But remove this decoy option, and most people would just buy the iPhone 13.