Easy: it goes both ways.
Keeping employees happy means they are willing to voluntarily spend more time at work. "Chatting with friends" is more often than not informally discussing work projects. Going home before traffic gets bad and working a few hours from home is the sane thing to do.
My current employer is very lenient, and as a result I am very happy working here and put in more than I am required to. If they were very strict, I would work _exactly_ 9 to 5 and not a second longer - if I even wanted to work there at all.
Fact is, you simply can't be 100% effective 100% of the time. So you either end up with people _pretending_ to be busy, or people who are free to openly de-stress and are way happier employees.