Pros
The best reasons to join Microsoft are the sheer number of talented people around, the incredible reach our products have, and the amount of available resources (money, equipment) to build pretty much anything. Where else will you build a 500 person team (with at least 300 very good people) in one year and get a couple hundred million dollars to deliver a new product? I have been through that process twice in my eight years with the company. Twenty percent time is crap. At Microsoft you can move across groups every 12 months if you want and I don't know of any other place where you have so many different products and team cultures. From very slow, calculated teams like SQL to extremely nimble and fast (and startup crazy-like) teams like Search and AdCenter.
Cons
It is a large company so new projects will only impact the stock value if they are multi-billion dollar projects. Selling U$100 million dollars on your first year is great, but not enough at Microsoft. That leads to diminished innovation. The stock sucks; for instance, SQL grows 20% year over year and the the team sees what? Flat stock - let's talk about demotivation. Employees receive a barrage of negative media. The vast majority of Microsoft employees are ethical, hard working, care deeply about customers and are self-critical to a fault. What do they get in return? Almost unanymous negative feedback about monopolistic behavior and absolute focus on negative reviews. Legacy support. Microsoft chose to create an ecosystem and a lot of people got rich in the process. The downside? Try to change something in Windows and see what breaks. Then see who the public blames for it. Microsoft has too many mid-management layers. The message from the top gets distorted and morphed to accomodate the mid-management agenda. And feedback from the bottom gets muffled and morphed to support that very same agenda. It is somewhat unfortunate the the middle layer is more concerned about keep things moving than to innovate. I also see no vision coming out that middle management layer. It is harder to collaborate with certain internal groups (e.g. Office, Live Search) than with competitors.