Big company with a long history changing fast
Pros
At Microsoft you get a lot of opportunities to work on established projects where you can impact real end users. If you do get on a start-up type of team, you are well protected in the warm corporate womb of cash flow, and you will have a lot of freedom to innovate. Of course the benefits are king. I think it dates back to the hey day of Microsoft dominance, and I don't expect that to last forever, but it's been a very nice starting boost to my finances work here as my first company. The company is going through necessary changes without which it would definitely die a slow death (even though there is cash to burn for years). I know these are painful changes for a lot of people who were laid off. However from the longer term strategy perspective as well as the impact to my personal day to day, I think these changes are mostly positive and from what I can tell, many of my co-workers do as well. Despite what you may feel about Microsoft's stack from a technical perspective, you can't deny they have made a huge impact on computing. They were first company in many ways to exemplify the power of software to the world. There is the attitude here of wanting to make software to make the world a better place.
Cons
Because it's a big company with a tall hierarchy, communication and organization of teams can sometimes be a problem. The result can be pointless kind of punting of responsibility, or the opposite, of fighting over territory. I don't know why this happens, but it reeks of bad management and too much of it. There are many areas of Microsoft where it is hard to make a big difference. Some projects are bogged down by scope creep from feature requests over years. Other areas are just more risk averse. This results in a slogging kind of maintenance work instead of developing cool features. This company attracts people who are exceptionally smart, but also lazy and greedy. Once well established, the smart and lazy thing is to hold onto their power and money instead of taking the risks of innovation- and often these are the type of people in upper management, who have been there the longest. I am sure you could say that about any large company but Microsoft may be a special case. Being a company that ballooned several times over in a short amount of time, it was inevitable some people got promoted too much, too quickly.