Apple provides a lot of things for free that you'd otherwise have to pay for (maintain, pay for, and/or scale) yourself. A big one that comes to mind is maps API and geocoding. This is all free on iOS, if you use the API from a native app.
I maintain an app on both iOS, Android, and the web, and the google maps API costs (used on Android and Web) add up really fast.
>the google maps API costs (used on Android [...]) add up really fast.
The regular Maps SDK on Android is entirely free. There are very few reasons to even end up paying API costs, you're either running afoul of their terms of service, or wanting to use dynamic maps for some reason. My company has 15M monthly users on a _very_ maps heavy app and pays absolutely nothing on Android.
Serving tiles sucks. Generating tiles sucks even more. In CPU time, in storage, in network. It's really not something you want to handle yourself, and most of the OSM alternatives end up basically only preloading a small area. Their vector renderer's performance is also somewhat bad.
I maintain an app on both iOS, Android, and the web, and the google maps API costs (used on Android and Web) add up really fast.