If you want custom ringtones on your iPhone, you either need to buy them, or drag your music over to Garageband (or a similar Windows based audio program) and edit it down to ringtone-sized pieces. Ringtone Maker Pro makes the process of making a ringtone for your iPhone a bit easier, although the syncing side of things still needs a bit of work.
Once you've loaded the app, you select which of the songs from your library you want as your ringtone. Using some very basic editing tools, you can select the start and end points of the song for the ringtone, and then have the option of running the song through a range of presets to increase playback speed or pitch. When you're happy with it (you can trial it by pressing a big fat play button on the edit screen), you press the save icon and the app creates the ringtone.
To get the ringtone onto your phone is hardly an elegant solution, but it works. You need to sync your phone, and access the file in the "File Sharing" section of the Apps section of your phone when connected to iTunes. You then save it to your hard disc, before dragging it back into iTunes to save it as a Ringtone. From there, you can sync it to your iPhone, allocate it to a contact, or use it as a custom alarm sound.
It's far from a streamlined approach to getting custom ringtones on your device. But until Apple makes the process a bit easier, it's the best solution available. And the app only costs $1.19, or you can get a free version that only lets you create 20 second ringtones, both prices being cheaper than actually buying a ringtone from iTunes...