Unfortunately, both.
It shouldn't happen, but in practice (on another OS, but I doubt there's a correlation between cognitive capabilities and preferred mobile device vendor, lol) people were installing those "brightest" flashlight apps mindlessly granting them every single permission they ask for.
The machines can't yet analyze appropriateness of the request. That's where human moderation comes into play.
That said, I wrote that in response to the claim that "Developers understand they must play fair on a device that is shared with other developers" but apparently missed to quote it.
So no, developers don't play nice, in fact a lot of them are horrible greedy people and that's why we can't have nice things. Ethics are very poor in that profession and that’s why we need very tight screws to have good user experience.
One annoying thing about apple's aggressive approach although is it's difficult to have actual background processes running on your device. Stuff like arc app keeps on getting shut down, it's difficult to have a mail client or an image syncing service actually be running in the background as frequently as apple's first party ones and so on.
Also you can't run something like little snitch on your mobile device.
In the desktop case this is ok, since you have the escape hatch of electron apps in the web tech example, but in iOS you don't have anything.
In iOS it's mostly when you have a lot of things open and too little memory. In macOS they don't reload (or maybe it's rare) but they do sleep. But it's very hard to notice.
The OS also suspends background apps fairly aggressively compared to the foreground app. Mobile apps also give you more tracking variables to do fingerprinting with than browsers do and it's pretty much impossible to practically add a local firewall to iOS devices to block ads. Adblocking isn't a practical thing on mobile apps.
Similarly, managing bad 'tabs' is really the browser's responsibility.