iPhone development - what is the difference between a development and distribution provisioning?
A development profile is used for testing your app when in the development stage.
Distribution profiles are of two types
- For adhoc testing
- For submission to the App store
Adhoc testing is when you have completed development and want to distribute your app to multiple users for testing (your second question). Just create a distribution profile for adhoc testing and select all the device ids for which the profile is valid. In that case you will only need to send the .app file and .mobileprovision file to each user testing your app.
For submission of the app to app store, you will have to create a distribution mobileprovision file with the "App Store" option selected.
I think the development profile lets you run the app in the debugger, while the ad hoc profile does not. (That's what I've observed anyway, assuming it is supposed to behave that way.)