Pros
They'll hire anyone, as long as the person can do the job. Really, take a look at the diversity on any floor and you'll realize how discriminatory other companies can be. There's a lot of training available, and some of the programs have great perks such as steep employee discounts. I've heard some programs are crazy-town, so it depends on which client you work for. The building I work in is brand new and very classy. Most of my coworkers are great people who make the job better. They also have silly fun days like costumed theme days and contests for candy that make it pretty fun. Benefits are fairly good. Dress code is relaxed.
Cons
Support tends to be understaffed and there's a lot of turnover. You go to talk to your IT guy to fix a problem and turns out that he's left the company and no one said anything. They try to get by with as little staff as possible, which sometimes means that everyone left gets burned out and overworked. If you work on the floor they sometimes treat you like you're a dumb kid who can't be trusted. Upper Management won't tell you bad news, even if it's something you really need to know like a security risk or a site closing. They just let you find out from your Google feed.