iOS 6 brings with it granular privacy controls so you can now fine tune exactly what built-in and App Store apps can access your location and share it on a pre-app basis. If you prefer not to have any apps accessing your location, you can disable location services altogether. If you don't want your favorite Twitter app to locate you, you can turn it off while still allowing your Weather app or the Camera access.
Apps have to ask you to use your location the first time you use them. If you would like the app to have access to your location, choose the OK button. If you don't want the app to use your location at anytime, tap the Don't Allow button.
If you ever need to change these settings you can do so easily.
When you first set up iOS 6 or a new iPhone, iPod touch, or iPad, you'll be asked if you want to globally enable location services. You almost always want to do that, otherwise things like Maps or turn-by-turn navigation could never work, local time and weather wouldn't function, and other services would have to be set up manually or simply not used. If for some reason you later decide you want to turn off any and all access to location, you can do so at any time.
Now no app or system service will be able to use your location.
It's almost always a better idea to leave global location on and disable any apps or services you don't want to have that access. The new iOS 6 Privacy controls let you do just that on a per-app and per-service basis.
That's it. And if you change your mind, or you find a specific service won't work without access -- for example, Instagram won't work without access to location due to geo-coded information in your photos -- you can always return to the Privacy controls and turn the appropriate app or service back on.