Pros
Many teams within Microsoft are great places to work, full of smart, energetic engineers who truly care about the people who use their software. If you end up on one of these well-managed teams, history shows that you will likely be pleasantly surprised about how much you like working there. Health benefits and work-life balance are great. Salary is competitive, and if you do well here (top 20%) you will be very well-compensated compared to others in the industry at your experience and skill level. Seattle is great place to live, home prices (while expensive) are much more reasonable than the Silicon Valley area.
Cons
I don't think Microsoft is getting the most out of the strong engineering team they have. There are many competing projects, each of which has slightly different characteristics and just confuse the customer. Marketing and branding are very weak, they are constantly rebranding our online services--MSN, now Live, now Windows Live, etc. The conventional wisdom that Microsoft is good at marketing inferior products is totally wrong at this point--overall, Microsoft does a bad job of messaging and promoting products which are actually pretty good overall (with some exceptions). There are some bad managers at Microsoft, like in any company. Luckily, it's pretty easy to change teams these days.