First of all you have to make up your mind about which software you want to use.
Traktor and Serato DJ are very different from each other. Traktor is a much more demanding software and is perfectly suited for the controllerist that wants to use things like remix decks and effect stacking. You pay for these features by having a hugely complicated software and you will have a steep learning curve. It can pay off in the end, if you like to have these features.
Serato DJ caters more towards the traditional DJ. It is basically plug and play. The controller setup is very easy and everything works nicely from the start. You still can do a lot as you have a sample player and very good iZotope effects. The integration with jog wheels for scratching and turntablism like tricks and routines is near to perfect. The Terminal Mix series caters to that by having the best jogwheels that I know of. Mapping additional controllers like a Akai midi pad is much more easy than in Traktor.
From the controllers the S2 is nicely integrated with Traktor, but it will leave you wanting an S4 or something better when you outgrow it.
The Terminal Mix series is nicely built and has good jogwheels. If you want the 2 or 4 version only depends if you want a 2 or 4 channel mixing section, both controllers can work with 4 channels in Serato DJ. There is a bundle version available which is good value for money.
Personally I currently use a Terminal Mix 4 with Serato DJ and am happy with it.
If you need more info about the S2 I guess Hee on the forums can elaborate as he uses Traktor as his main tool.