Here's the choice. Say you've got an app that wants to take a picture, like Twitter or Facebook or something.

Choice 1: It asks for camera permissions, and can take a picture at any time, whether or not you want it.

Choice 2: it sends an IPC request to the Camera app (using the Android Intent system, so it's more like "hey, is there somebody out there who can take a picture for me?"). The camera app now takes over, and gives the user a take-a-picture button. If the user presses it, then that's the one and only picture that the app gets back. Otherwise nothing.

A whole lot of use cases that can be satisfied by choice 2 are typically dealt with by choice 1. Choice 2 would seem preferable, since you're not giving your app a general-purpose permission, but rather a wrapper that keeps the user in the loop, in a way that the user won't necessarily even notice the difference.