Pros
The benefit package is outstanding and makes it easy to find service providers; The casual work environment is very conducive to brainstorming & problem solving. The ability to go into work each day and work with some of the smartest, most creative people on the planet. Generally speaking, these are educated, outspoken, opinionated yet tolerant, caring people who love to give their all, do a good job, beat the competition, and have fun while doing it. Morale money is allocated each month per employee to go to movies, play paintball, etc. Friendships forged at Microsoft tend to outlast your employment - it really is a people place to work.
Cons
Human resources has gradually ruined managements ability to hire the best person for the job. Too many limitiations on formal education vs. experience and ability. Ridiculous hiring questions that have absolutely nothing to do with the job being performed tend to weed out the truly smart and capable, as they have little tolerance for the idiocy imposed. Stack ranking: where a room full of team managers take turns throwing various employees to the lions in exchange for the ability to promote and reward a select few - usually based on the select fews having worked on "projects" i.e., having performed the manager's job. Shift in recent years away from using metrics - allegedly. Case closure, MPI, survey results, days to close - these used to be primary factors in job promotion and performance reviews. They are being gradually replaced with more subjective criteria - easier to throw an employee to the lions, harder to defend a truly dedicated, qualified engineer who hasn't worked on some high visibility management pet project.