iRingtones lets you create ringtones from your own songs. Although you can create ringtones directly from iTunes, iRingtones makes it so easy that it is worth the $2 dollars that it costs. This program can open pretty much the same files as Quicktime does. I tested it with an MP3 file and it worked well.
To start creating a ringtone, you need to drag a compatible file onto the application. This will make the screen change into the creation mode, which shows the entire length of the song, along with its name, duration, artist and album. By default, iRingtones selects the first forty seconds of any song. You can change the selection by dragging the blue highlight around. Also, a fade in and fade out effect of 4 seconds will be added to your ringtone, but this can easily be changed. The volume of the song can be reduced, but I didn't see any options for volume boosting, which always comes in handy if you are an iPhone user.
When the ringtone is created, it will be automatically added to iTunes, from where you can send it to your iPhone.
In short, iRingtones is a very nice app that can create ringtones in a snap. It is affordable and it works very well.