There are a lot of cons but the greatest is the company culture. I will not go into extensive detail but take my word for it when I say the more you find out the more messed up you realize the company is.
Here are a couple of the lighter examples:
Take my word for it when I say that you will work well (try 20 to 30 hours) above the hours that they say you will work and there is no extra pay for the time you give since you are on contract.
There is no respect for personal time and no one in the company tries for a work life balance. While you are working for them there is no such thing as a full day off.
They do not negotiate salary so if you are not going to get the one you want then just walk away because they will not budge. In addition there is a big issue with paying people on time. By the contract you will sign they have until 30 days AFTER the last day of the contract to pay you and they will wait until that time so do not expect to use the money you will make toward any upcoming bills because you will be late on them.
Upper management does not trust anyone and so everything you do will be micro managed, but badly. Many times they will take over something, not knowing what is going on and mess it up and then get confused and yell at you for what they did.