I'm amazed at the defensive attitude in most replies. Given the audience, maybe I shouldn't be, but it does seem the majority here are very defensive of their 'down time'. I accept that it is necessary. I do it myself. Read the news, make private calls, go on job interviews... or whatever. But I got the feeling that it's far above the normal in this environment. Regardless of whether this is normal or not, the best way to deal with it is probably to worry about your own output. If it's a good place to work, they'll notice you. If they don't appreciate it or notice, maybe it's really not a great place to start a career.
At my company, there is a strong relationship focus. We can "waste" a lot of time talking about stuff that is only moderately related to work, but it's all valuable.
At my company, discussing things like "what if our biggest competitor designed a flying car, what would we do", or "if we were to build a new datacentre what colour makes it go faster" is work. Gossiping, farmville/pet society/etc, long lunches, is not work, and should only be a minor part of the day. Valid down time yes, but dont' tell me it's work.
I've heard of the 5pm rule, where after 5 you stop work and just talk to people. And yes, there is still the talk of football or the stockmarket, oil prices water shortages, or whatever. My role is not specifically technical, but part of it is process and systems design, testing and improvement. Most days I would probably only contribute 4 of real output. 2 hours of thinking about solutions, 2 hours of dealing with day to day shit that comes up, and 1-2 hours of relationship building.
Oh, and the excuse that code is crap and deadlines are missed because the deadlines are a problem.... I'll buy that only after you stop bitching about your boss long enough to do some work.