I believe having a GO+ paired/connected allows the game to credit you with travel distance towards walking your buddy, hatching eggs, etc. while the game is active in the background, suspended (i.e. phone locked), and maybe even when the game isn't running (this could be a reason to set Location permissions to "Always", but without actively testing I can't be sure).
There are limitations to this, such as:
- The app only calculating/estimating straight-line distance between the two locations where GPS connection is recorded (the game checks this at fairly regular intervals), which is the reason why your in-game distance doesn't quite match up with actual distance travelled.
- Not exceeding the ~15 MPH 'walking' speed limit, on average, for the above 'journey' (the game does a basic Speed = Distance / Time calculation using the last recorded and current locations and associated timestamp).*
*I think you can use this to trick the game into thinking that you haven't exceeded the threshold speed, when in fact you might have just taken a bus, and opened the app some time later, which would artificially decrease your estimated travel speed.
My personal opinion is that, partly because I use a GO+, partly because I'm addicted and in the hope that it has at least some benefit to providing better location accuracy, I have it set to "Always", just in-case. I don't tend to make this exception for other apps like Google Maps, because this allows them to constantly track your location, which you might not want for privacy reasons.