As mentioned in pro's, there is an opportunity for them to put young in a hotel for the length of your training, but this is not guaranteed. I wasn't put up but was able to find an AirBnB that was easily affordable with the hourly pay during training.
Salary while working for client is good depending on where you move to. I ended up in a relatively cheaper city so was able to afford my own apartment, but I'm getting paid the same amount as people in NYC where the salary will go nowhere near as far. Fret not though, there is a consultant support team that can put you in contact with consultants already in the area who might need roommates or anything like that. It's not ideal, but it's a start for an entry level position.
The strict 2 year contract is the hard part in my opinion. During that time, you could potentially be working the full 2nyears with the same client, which is great if it turns out you enjoy the work. If you get there and decide its not for you, however, there isn't much you can do expect stick with it until the 2 years are up. Also, if during that 2 years your client releases you (budgets, office politics, etc...) you are considered still employed by FDM and are now searching for a new client. This time can be weird because you arent working, and if you are still close to an FDM Office you are expected to return to them during the week to ensure you are still earning your salary.
At the end of your 2 year contract, one of three things can happen: you will be invited to stay on with the client as a full-time internal employee, they can release you and you can sign up with FDM for another year and they help you find another client, or you can go your own way. I added this to the cons because it can be a kind of gamble if you want stability.
You HAVE to be geographically flexible for this company. FDM has clients all over the country (you almost always stay in your country of origin) and you are expected to interview with clients based on the position, not the location. They expect you to not turn down an interview for the reason of "I don't want to live in city A or B", but they will ask you if you are interested in the position before putting you up for an interview at least.