Pros
Working with smart people daily, amazing gourmet free food, fantastic career growth opportunities within Google. If you don't like the project you're working on, you can transfer to a different project, even to be a different "type" of engineer (e.g. frontend/backend/storage). I work with people who've worked on several projects at Google. Working on projects that you genuinely believe help make the world a better place, helping users connect with each other or give them greater access to information. I like the direction Larry has taken the company, feels more focused now than before. Very pro-women, pro-LGBT, pro-minority environment. I'm a female software engineer and have not seen a shred of the sexism or attitude towards women that I've experienced at other workplaces.
Cons
While not totally necessary, being on a higher profile project helps with recognition and career advancement. I work on one such project and have since I've been at Google, so I can't really say what it's like if you work on other projects. Having a good manager (as I do) is definitely important to being promoted and getting put on projects where you can earn recognition. Not all managers are as awesome as mine and their reports suffer for it in terms of career growth and interesting tasks to work on.