There are one or two apps I use that do require extra permissions to function – like the NFL Sunday Ticket app won't work unless I enable location services, because it needs to black-out local games due to broadcast rights.
Some things are simply not available on iOS. For example, your app can't get a list of other apps you have installed, or send/receive text messages.
Of course, every once in a while someone finds a way to abuse a different API maliciously. Apple had to limit the availability of the API used to determine if a URL scheme can be handled by the device because Twitter was spamming it to determine what apps you had installed (if your device can open a 'dominospizza://' link, they knew you had the Dominos app installed). So now you have to whitelist up to 50 URL schemes your app might try to launch.
Of course there are plenty of safe apps that do not abuse APIs - for example, the Deliveries app by JuneCloud.