Pros
The benefits have been watered down from what they used to be, but still are very good. The deductible at the beginning of the year is high, but MS contributes and I've never had a problem finding a doctor that's part of the system. The company culture varies from division to division, but generally its supportive and cooperative. There are cases where people were promoted that I didn't feel should have been, but they were fairly rare so by in large, promotions were earned and justified. Even more rare were the cases where someone should have been promoted and wasn't. When I was promoted, the benefits were good, generally a 3-5% salary increase (+ merit on top of that), 15%+ bonus (depending on level), and equity shares. As for people, I worked with a lot of different teams and I didn't get along with everybody, but I always felt the vast majority of people were very smart and talented.
Cons
A big problem toward the end of my tenure at MS was process and compartmentalization. I'm sure this is a problem with a lot of large companies, but I felt over the years that different groups were spun off to tackle different problems during the shipping of Windows. This sounds good, but in practice it leads to conflicting priorities between groups with the focus less and less on the end goal of shipping a quality, innovative product. For example early on in Windows, test and dev teams owned their own test labs and machines. Now its set up such that there is a lab team and an execution team and their priorities are to keep the lab clean and machines busy, which isn't always the best thing for the dev/test teams trying to ship a product. Also, another thing to watch out for is competition. MS competitive review model can lead to grandstanding and throwing people under the bus for the sake of ones own review. Some competition is good, but not when it leads to these negative results, which I have seen. Last I would say is honesty of execs. Because of the layoffs and the way they were handled by execs, the morale of the Windows group is pretty low. Some of the recent confusing directives from Windows execs on what exactly is the job function of a SDE and SDET and the constant reorgs are taking a toll.