Pros
Competitive salary and great benefits. I relocated from a less competitive software industry in comparison to Puget Sound, so I'm probably underestimating a good living. There are a lot of cool things going on at Microsoft. It feels like you're entering a pretty special company, given its track record. Regardless of anyone's strengths or weaknesses, you'll encounter some pretty smart people here and it feels good to work with capable people. There generally feels to be a high standard of technical understanding without penalizing those who don't know everything. Most managers and peers are friendly and helpful. The facilities are modern and clean with amenities. You should have just about any resource you'll need to do the best job you can.
Cons
Microsoft is a 10 ton behemoth with who knows how many teams, products, and organizations. It's unreasonable to believe you can be satisfied with your job just anywhere. Enjoyment of your job is highly dependent on what team you're on and the specific things you're responsible for. Some organizations are bound to aging tools, codebases, and other technical debt issues that can make work stressful and uninteresting. On the other end, there are teams building bleeding edge tools and services that you can nerd out forever on.