Pros
There are a bazillion different projects to work on, and 95% of them are solving interesting, difficult software engineering problems. Compensation package is great. What I like best though is that everyone here is smart and motivated. Almost no slackers. Everyone is talented and (at least on my floor) works hard. Obviously it's a huge company, so my experience is just a small sample, but I'd recommend you give it a shot. Just be prepared for the rigorous computer-science-heavy technical interview. A little preparation is all it takes - there are books available on interview prep that cover all aspects of what to expect...
Cons
Learning curve for their home-grown tools can be steep. Nothing seems to work exactly right at first, but it just takes some practice (plus RTFM). Also, the culture is fairly Darwinian, so you are expected to figure things out yourself. a lot of the time. There is no "five minute rule" where you get to ask someone for help if you are stuck for more than 5 minutes (which is too bad when it stretches to 5 hours ...)