Pros
Superb benefits. Very smart people. Access to best technology. Reasonable salaries. Good for a steady job. Some teams support innovation and agile processes but not all. There is a lot of freedom in the way you do your work. A lot of focus is there on keeping employees happy which resulted in the recent overhaul of the review system.
Cons
Some teams have way too much process. Slow to get to the consumer and slow to innovate because of ancient release methodologies. There is a lot of unnecessary re-organization because of changes to upper management which causes flux to teams that are doing good work. There isn't a cohesive strategy within bigger teams because there are multiple senior level people who want to assert their ideas which causes teams to get pulled in different directions over time. With the latest One Microsoft strategy this is getting reduced but we aren't there yet.