Pros
The opportunity to work on industry-relevant products and influence the experiences of a large number of people is a big draw. If you want to work on big issues and go up against the best competitors in certain industries, MS can give you that chance. The benefits, stability, and pay are very strong and will likely continue to be for at least 5+ more years. If you find yourself working in a team that's working on a product that you're excited about and believe in, it can be a wonderful experience. If not, it can be every bit the nightmare that many imagine.
Cons
The size of the company and the bureaucracy can be stifling. There is no need to keep on hiring so many people when the inefficiencies of communication and management are rampant. The crazy layers of management, the politics, the fiefdoms, etc. can be absolutely suicide-inducing. It really depends on the culture of the team you are in and the few key people that define it. It is still an engineering-based culture, and depending on the industry you're in and who your competitors are, this isn't necessarily a good thing. The company hasn't figured out how to design great experiences quite yet - there are pockets of that throughout but it's not widespread. It is a risk-averse culture which prevents it from innovating and taking smart chances. It is consensus driven which keeps it from being nimble. It's got a lot of smart people who get dumber the larger the group. "Old Microsoft" still reigns supreme in many areas. These executives who have watched the company grow over the past couple decades should generally retire and let others take a crack at it. Many of the old guard have gotten too rich and out of touch and are keeping the rest of the company from taking it where it needs to go.