Pros
The compensation is good bordering on great. The top performers in a group have the chance to make a large bonus (bordering on $20k) and also get a large stock bonus (an additional $20-40k, albeit vested over 5 years). The biggest drive for me is working on a product that millions of people are using around the world, and building technology from the ground up that many developers will leverage. Read: Visibility. Benefits are second to none. Microsoft honestly has the best health insurance of any company I've ever seen, as its A. Free, B. Covers %100 of everything. Beyond that there are a lot of great, smart people you have the opportunity to work with.
Kontras
I've had the chance to work with two different groups at Microsoft and comparing the two is like comparing two different companies. One was like working at IBM, the other was like working for a web startup. Before picking a position at Microsoft MAKE SURE YOU GET TO MEET THE TEAM, as not doing your homework can show you the bad side of a company that is struggling to find itself again. In that vein, a lot of people internally are dissatisfied with the direction the company is going compared to other companies such as Apple and Google.