Pros
They do provide benefits and salary and (rather mediocre) free food. You can work on social games, which some people think is cool. If you work really long hours and suck up to everyone possible, you can get ahead. You can get lots of free t-shirts, free pizza, and free beer. It's a good place if you want to do nothing in your life but work a lot.
Cons
You're basically forced to work 60-80 hour weeks. You can't actually take advantage of the unlimited vacation policy. It's impossible to know what's actually going on if you're not on the inside. Pay is not actually that high. Managers are completely inept and are only using you to get ahead. Not possible to get promoted on self merits, only by using other people. Engineering is laughable and of poor quality. There is a culture of blame and trying to avoid blame at all costs. Upper engineering is basically management, but is still called "engineering." Advancement within the company on the engineering track is a dead end, people invariably switch to being managers to keep going up, whether it's official or unofficial.