For mid-careers:
Career stagnancy hits most at some point, so to advance you may need to leave; high senior, principal and beyond staff tend to have it good compensation-wise, so they don't leave very often, which can limit opportunities for those below them who want to move up.
Many teams lack work life balance, but pay enough lip service to it that they won't admit it when you interview, so be careful; it is not unheard of for 60 hour weeks to be a norm, so consider that when negotiating salary; in rare cases, it can be worse than that.
A bevy of smart people who may or may not have good social skills + very political culture in some groups = some of the worst, devious, cleverly-backstabbing-with-plausible-deniability politics you've ever seen in your life, as people fight to reach the higher levels and to stay there.
Some fairly onerous engineering processes; I've heard Windows developers say they spend 12-15 hours a week coding and 25+ attending meetings, filling out database forms that are part of "process", talking with those who work on other components to ensure that their upcoming code changes won't break another part of the product, asking for permission to fix bugs.
If you're technical, you will laugh in disbelief when first exposed to some of our most-used internal tools.
If your history is not in Microsoft-created technologies, not all that you bring to the company will be considered useful.
If you don't manage to get into a situation where your management gifts you with a couple great reviews, compensation will be merely average or below.
Negotiate well when entering, because raises here are at or slightly below inflation, while starting salaries for new hires tend to meet or beat it; after a few years, you may find new people with your skills coming in higher than you currently are.
For college hires:
Minimal exposure to technologies not invented at Microsoft.
A company that's pretty set in its ways and expects you to conform to it rather than giving you an opportunity to move it forward with new thinking.
No match for Google in the cafeteria or free snacks department.
For everyone:
Company's reputation is declining.
Company's stock price has been stagnant for a decade.
Exceedingly poor management in many areas of the company, sometimes to a toxic level; too many middle managers have instituted a lot of bureaucracy, committees, internal initiatives that justify their existence without adding value.
The necessity for most to venture into management to grow their careers; the technical IC advancement path doesn't have room for everyone who'd like to pursue it.
Sometimes what you are developing isn't particularly unique; it may have even been done, and done better, elsewhere in the company before, but for not-invented-here reasons and concerns about forking development paths, you can't easily share components among teams that are organizationally far apart as easily as you can when working in the open source culture.
Entrenched culture at the top makes it difficult for good ideas to be heard and acted upon; leadership tends to play the risk minimization game, and changing the status quo is seen as a risk.
So many encumbrances that the company moves slowly - potential legal liability, anti-trust, P/R concerns, worries that product A in division B could cannibalize sales of product X in division Y.
Some confusion at the company about the role and technical competence of managers; some teams assume managers are the team's technical experts, when they're not; this can result in poor decisions.
Review structure in which one is pitted against one's teammates for the larger portion of two aspects of review compensation, stock awards (the other, the yearly bonus, is not nearly as "curved" as stock awards); review compensation decisions can be very arbitrary at the whim of your manager, and more dependent on nepotism and politics than performance. When going into the company, it's more important to choose a manager you can work well with, than it is to choose the perfect job, for that reason. Also, if you're on a team of strong performers and you are not the strongest, you can be penalized.
Related to that, managers have been known to "cook" reviews by assigning critical, high-visibility features to their favorites at the beginning of the year, so that those people are in the best position to get the good reviews at year end.
On-site cafeteria food in Redmond is pretty bad overall, with a few notable exceptions; you'll need to drive to work if you want to eat lunch at one of the fast food places a mile or two away.
The traffic in the area; the fact that most Microsoft employees who live in Seattle all come over the same several-lane bridge across the lake, along with everyone else who lives in Seattle but works on the Eastside.
Salaries in most cases accommodate buying a nearby condo, but often not a nearby home; many people have 30-60 minute commutes each way to have a detached home or townhouse they can afford; real estate prices here are through the roof, though not as badly as in Silicon Valley.
For many, due to commutes and excessive work required, not enough free time to use the gym.
Because the company has so many smart employees, being smart and making an occasional great contribution is not enough to stand out here, although it is at many other companies.
Stock awards vest over 5 years for rank-and-file, leading to significant golden handcuffs; those at the partner level have accelerated vesting schedules.
Dental coverage is $1500, and dentists tend to expand procedure costs to fit that limit, so if you need several procedures, it costs you out of pocket.