I have tried various DJ apps, both before I got Traktor and after, but I keep coming back to Traktor (Pro 2, now) because of its features, flexibility and quality. Its auto beat matching means I don’t need a physical controller in order to DJ smoothly, although it supports a plethora of physical interfaces. The ability to remap the keys to my choosing means I can enable thing to my liking and disable show stopping features other DJ apps don’t allow: I love that I can disable stop/start on the space bar, and there’s a preference to lock playing decks from loading. Both of these prevent that sudden dead air scenario I have seen other DJs do when they accidentally cue the wrong deck or slip and hit the wrong button.
I use Traktor with an Native Instruments AudioDJ4 external USB audio IO which has 4 in, 4 out. This is no longer sold, but Traktor sounds great through this and I can assign the inputs to go through the box in case inputs on the DJ board are not enough to accommodate all DJs input needs.
I also like that it can read the iTunes library complete with playlists immensely. I think this is a great feature because I can use iTunes to find the tracks I want to play through casual listening between events and don’t have to do any thing tedious to remake a playlist or find tracks. This is one feature that keeps me coming back, because other DJ apps only read their own libraries, meaning you have to either work in them only or do double duty for making playlists.
Traktor’s internal playlist edit and cue system is also very powerful. I have tried to make it crash with over 20,000 tracks, but it handled tat many just fine. (I have since rebuilt the library and have a modest thousand or so tracks in it that I draw from routinely.) Adding new tracks or playlists is as easy as importing from the finder or iTunes.
Upon import, it reads the key tag for those of you DJs that have discovered harmonic mixing, so finding the net song isn't completely dependent on you memory. Of course it also calculates BPM at that time too, to enable easier beat matching. If it gets the track’s beat sync wrong, you can adjust the grid of each song, along with setting in/out, cue and loop points that it remembers in its own library.
In practice that means it only takes one listen (often during or just before a DJ session) to practice and set this stuff up, then the next time you play any cue or loop points you have previously set are recalled the next time.
One of the few complains is that if the USB audio interface is abruptly removed or the setting for the output quality is changed, the application or even the entire computer will crash, meaning a painfully slow reboot process. This might have been fixed within the past year, but it is something I never test anymore, and it as been over year since that happened (luckily this only has happened a few times while I was just practicing at home). The other complaint is that sometimes, if I sleep the computer, upon waking it up, Traktor will hang, necessitating a command-option-escape to force quit it. This hasn’t happened for a few versions so, I think the Native Instruments developers have solved the sleep issue at least.
Overall I would recommend it to any Digital DJ since its flexibility means it can fit well in so many different types of DJ’s play styles.