Pros
Most of the people here are really smart. There's so much going on at the company and they've been at this forever - Microsoft knows how to ship a product. The volume of information (and professional development resources) available to employees is enormous. If you want to work on products the entire world uses, look no further. Compensation and benefits are both very good. There's a lot of emphasis put on individual career development. In terms of social responsibility, they're very generous and proactive re: corporate giving and volunteer work.
Cons
There can be a lot of red tape. Sometimes you can get the feeling that you're spending more time talking about what is going to be done than actually doing it. This is both good and bad: your plan is always rock solid but because of all the time spent planning you have less time for the work itself. Depending on the team there can be pressure to "just get the job done" whether or not that means working reasonable hours. In my experience this is cyclical. There can also be politics to deal with since, after all, this is a big company. There can be reluctance to embrace non-Microsoft technologies, particularly open source ones. Some of this is valid from a legal perspective (Microsoft is a big target and can get away with a lot less than a smaller company which is off the radar) but regardless of the actual reasons this can make it take longer to get the job done.