Pros
The direct management and leads tend to be very competent and will work hard to support you without micro-managing. Depending on your position, the pay can be competitive depending on the contract. When I started there, the benefits were very competitive (this has changed, unfortunately).
Cons
I was a technician that was placed on a specific contract rather than a roaming or mobile tech so many of the cons I have are related to that specific scenario. Advancement is all but impossible in many positions. If you are working on a contract and that contract is terminated, it can be very difficult for them to place you somewhere else which means you will most likely be laid off. This diminishes many of the benefits to being an employee of a company that holds a contract rather than simply a contractor. Since the economic downturn in 2008, the benefits package has been slashed time and time again until it became mostly a joke. Merit increases were suspended for most of the time I was there and I never got a raise my entire tenure. Working on a customer site, I was mostly cut off from CompuCom politics and really anybody that wasn't a direct supervisor or co-worker so I don't have a lot to say about the leadership at the company, but it was my impression that it wasn't very effective due to the steady and seemingly inevitable decline in the quality of employee benefits with really only the barest semblance of an explanation given.