Pros
Microsoft is really a dozen companies in one. Pick carefully, and don't just think "Oh, it's Microsoft." Groups differ greatly in their If you work for a really well-run group, then you can combine the benefits of working in a 200-person company with the benefits of working in an 80,000-person company. The small group can give a sense of purpose and esprit de corps, while the large company can provide good healthcare, a stable environment, and lots of learning opportunities. Go to the lunch tech talks to learn about the technology underlying other products. Go to MSR to hear about what's going on in the blue-sky research world. Flexible work hours, an informal attitude towards hierarchy. And the ability to hop around between groups at Microsoft, to work on different technologies without the hassle of having to change companies. If you get a sense of the landscape, know the landscape well, you can avoid most of the Cons listed below.
Cons
There is definitely a lot of dissatisfaction at upper management, especially Ballmer. The recent layoffs have taken a toll on morale. Again, it really differs by group. Some groups got hit harder than others. If you're in a bad group, you might get stuck in a death march for two years. You might have coworkers who don't give a **** about the product and are just sitting around collecting checks. But if you're in a good group, see Pros.