This is a relatively expensive application at $19.99, but it's a surprisingly powerful tool, packed with features. If you've used mixing software on a desktop computer, there is very little that you won't find in Touch DJ.
As there is only one stereo output on the iPhone, Touch DJ uses a novel way of beat-matching called visual mixing. In theory, this means the wave display flashes in time to the bass drum when you're playing a track, and using this you can alter the pitch so two tracks have the same pitch. It takes a bit of getting used to, and with less bassy music it's not ideal but with some practice it's surprisingly easy.
The main flaws of Touch DJ are that it can't access the iTunes library. To import your music, you have to download a little syncing app, which will allow you to import music from your PC or Mac via WiFi. It's not the most user-friendly system, but currently developers are not allowed anywhere near the iPod library. The interface is really impressive, but there is a lot in it, and some might find the iPhone's little screen crowded.
When libraries are imported, the BPM of tracks is analyzed, which is a great help with mixing. You can also now create playlists and use 'crates' to organize your library.
Despite the awkward library settings, Touch DJ is a really impressive app that you can use to make excellent live mixes.