Pros
Microsoft as a company (that is, the entity/organization itself) has amazing culture and an outstanding set of values. They also have compelling salary compensation: a great benefits package - although it only becomes that great on higher levels - stock options and yearly bonuses. Finally, you have the chance to work on large projects with a big impact in the world.
Cons
On such a huge company, naturally your experience will vary from team to team and from org to org. Some orgs are clearly more aligned to the "new" Microsoft values than others. My team, for example, accepted some types of diversity, while clearly discriminating others. On top of that, teams are usually very specialized (many will only ever work on a tiny piece of a project), and that can severely hamper your sense of impact. Finally, if you're the kind of person that likes to be transparent and honest (which are pillars in the company's values and culture) and doesn't like playing "the game", this company might not be for you. Managers have too much power and are usually protected by one another in order to go up the ladder. This affects everything, from what projects you get to work on, to how they treat you, to how you're awarded, and trying to fight it only makes it worse; You have to be willing to play the same game they are. There are both company-wide and org-wide climate surveys every semester, yet they are *highly* disregarded by management. You'll frequently see management asking "why did you answer this way" instead of "I see you folks feel this way. What can we do to improve?". Every time my team went through this, no one dared to speak up and it was always the two managers speaking alone, precisely because of their inquisitorial tone. And, of course, this comes back to what I said above: these managers want to go up the ladder. If they start getting negative feedback from below, that can hinder their progression. Thus, instead of trying to improve, they group up and use intimidation tactics to get what they want.