The free download only allows you to run the code in the simulator. Paying the $99 grants you a development certificate that is used to sign code, be it debug or release. You then add device UIDs to the certificate and are granted a provisioning profile. This profile can include up to 100 UIDs allowing the app to be distributed to 100 iPhones/iPod touches for testing and development. For a person who doesn't have XCode, they can drag the compiled app and profile into iTunes to send it to their iPhone, without using the App Store.