Provisioning Profiles - Three Types?

I’m still trying to get my head around the iOS Developer Center, and the ungodly complicated mess that Apple make of what seems a simple task. Specifically, I’m trying to get a handle on Provisioning Profiles. Currently, I have two Developer Provisioning Profiles (one team, one in my name) and none in Distribution Provisioning Profiles.

Am I to understand that a Developer Provisioning Profile is one that only lets me upload an app to my devices through XCode?

The Distribution Provisioning Profiles seem to come in two flavours, ad-hoc and app store. Am I further to understand that the ad-hoc flavour is so that I can come up with an app and a signature which I can then distribute to testers and will run on any of the 100 devices in my registered devices list simply by installing said app and signature in iTunes?

And then the App Store Distribution Provisioning Profile is only for when I’m ready to release on the store?

Do I have all of that right?

And if I’m not using push-notification, Game Center etc, then I only need one profile for all games? But if a game needs to use push-notification or Game Center, it needs its own set of three Provisioning Profiles? Is that right too?

Thanks for the help. Just trying to make sure I have everything clear in my head before going any further.

Bump

basically

just with the difference, that distribution will always be distinct provisions for each application

You mean I will always need one distribution provisioning profile per application, even if I use the BLAHBLAHBLAH.* app ID convention? Does that apply just to the app-store version or both the app-store and ad-hoc versions?

distribution can not use .*, wildcard is only allowed for the development provision

Hmm ok, but that directly contradicts what the iOS Dev Center tells me, It says that you can “ship”

that would be new to me.
you can send wildcard dev provision signed applications with the provision to other devs for installation but distribution provisions even at 4.0 refused to be created when you specified a wildcard

but perhaps they talk about the possibility to use the team provision on the settings and then use build archive based upload and select the previous created distribution provision there then, without you having to reassign stuff etc