
The company has consistently delivered strong numbers year after year (despite lots of people complain about Vista, the sales numbers of the new OS is stronger than ever). Microsoft has a very stable development cycle and process. Burnouts, long hours and frustrations over the team's directions are rare. Those with children will love the very good benefits package.
However, the benefits package is only applicable to those who're real Microsoft employees, excluding contractors and temps. And in order to save money, Microsoft hires lots of them. A strong sense of hierarchy is entrenched in the company and the contractors, though often equally talented as the fulltimes, are treated as second class citizens. The same can be said about those at the lower end of the corporate ladder. It sometimes makes team cooperation hard as it's not possible to have a "team" while not treating everyone equally.
Politics driven performance review. I'd say half of what the performance review says about me is based on my work, half is based on my relationships with the managers. Employees at the mid-level find career advancement unlikely. The managers above you are gonna stay there for another 5-10 years. The company has become mature, and there's not enough growth to support more raises.