Pros
1) They provide training depending on Streams you applied for. Project based streams provide Project Management/Support training while Developer streams are programming aligned. 2) You are given a token salary while in-training and get the full sum once you are placed in a position. 3)Takes the trouble out of job seeking and you only have to focus on training and interviews. 4)Total remuneration package is quite attractive for fresh grads.
Cons
1) No bonus. At all. 2)No choice given in placement. Sure they will ask for your preference and try to give you but usually their word is final. 3)Training and salary comes with a caveat of 2 years bond. Break this bond and you'll have to pay out-of-pocket for training fees, which is quite high. 4)For the duration of the 2 years bond, you will not get a raise. After bond is completed, you'd have to fight/argue/weasel your way to get a significant raise. 5)Career progression is tied to FDM and not with company you are placed in. If you don't get a permanent role in your company, back to FDM you go and your salary will drop to that of 1st/2nd year consultant until you get another placement.