But if you're spying on the users of your app why would you limit the value of the data you're collecting? It'd be better to put that in the control of the user being exploited and not the app doing the spying
Applications that don’t need accurate location benefit by getting faster results and less battery drain (if the system last got a location 5 minutes ago it’s safe to say you are in the same city, so you can just get a cached result). It’s not really there for privacy, since even the city you are in is a lot of data to go on privacy-wise.