Pros
The company is an exciting place to work because there isn't a soul in the world whose life their products haven't touched. Even a simple security fix goes out to hundreds of millions in the first weekend after release. The impact can be very satisfying. Also, there are some very smart engineers who work there and while working there you get smarter by forming symbiotic work relationships. Great place to learn many new tricks. Pay and benefits are also very good. Work hours get crazy only during deadlines but otherwise not too bad if you manage your working hours well. Minus the office politics this place would be great for work but I guess a company of this size will always have some of that. People with many agendas (sometimes conflicting).
Cons
The internal review system has become rigid and has created a culture of busy work just for the sake of justifying bonuses. This busy work has very low real impact on product quality (especially in test). The metrics they use change frequently and show a certain confusion/unsureness of the middle management during reviews. Risk taking has almost come to a stop. Any risks you see from the outside that the company is taking is for the sake of survival in certain markets and not because Microsoft has the culture of risky innovation. The top and middle management have become extremely risk averse and tentative in their messaging to juniors. This can be de-motivating for extremely talented individuals (of which I saw many during my time). I also saw some above average attrition in my product group. Apart from reviews, the company leadership has only worsened this behavior by setting similar examples. Some very confusing strategies in products and branding has brought the company where it is today.