Pros
A huge breadth of knowledge will be gained within a short amount of time and you know that what you do has an impact on both the company and the community. Pay is good and benefits are very good for full time employees as well. The ability to work remotely is also a big benefit.
Cons
During the summer I worked there they laid off several hundred employees. It was done very tastefully and well communicated with transparency at every level, but still a huge morale killer.
There is ability for advancement, but it is not rapid, and there are quite a few entrenched employees and managers left, even after the lay-offs.