Pros
The company is full of talented people with whom you work every day. Excellent opportunity for learning on the job. Depending on the group you are in, you can find excellent management support for work/life balance, and fair, transparent, and appropriate performance evaluations and rewards. Excellent benefits. Breadth of different types of work across the company.
Cons
Once you have made it to a Principal level manager or individual contributor, it is very difficult to understand what it takes to make it to the next level. Partner and Executive managers are not consistent with their feedback or expectations. The rules are generally not well known. At Senior and executive levels, an employee's potential future contributions to the company, which plays a significant role in how stock grants are awarded to individuals, is a vague and extremely highly subjective "measurement". Seasoned professionals joining Microsoft from other companies may struggle to adapt in the first 1-2 years to the corporate culture, roles and responsibilities between the various disciplines, and the "Microsoft Way" of getting things done. More senior individuals are likely to struggle more. Microsoft does little to ease the transition and integration of external talent into Microsoft. There is no active talent management for Microsoft at the senior levels. Regardless of how long you have been at the company, or how well you have performed in the past, or how solid a contributor you have been, or what unique combination of skills and strengths you possess, unless you are a Partner level employee you get little to no proactive support from senior or executive management or HR in determining your next challenge or opportunity within the company.