Pros
The free food is good and better than what you have heard. It really rocks and I will really miss it. Also the co-workers I met were one of the brightest people (in software) around and it was charm to actually work and see what good coding is really all about. And its not just some stars - there are actually people who are really good and work together and the team as a whole contributes a lot towards the success of a product. Further the software infrastructure is the best among all the places I have seen and I have seen the better ones.
Cons
Its very easy to get used to the perks and if you join right after graduation - it keeps you stuck in college. This may not best thing in terms of future career development. You get used to the good stuff and complain for more and it can get very difficult to move on. I think the worst part is having a really good infrastructure to work with stunts your hacking skills which may not be a very good thing in general. I would advise working outside Google fro a few years and then coming back to really enjoy life :-P