I worked for a company where management tried hard to keep employees happy when it came to benefits and yet, for the most part, they/we were a miserable bunch. It seemed that it was never enough. I'm not saying that the benefits were extravagant but they were very good.
I agree that a happy employee helps a company be better but you can't buy their happiness thru benefits. The way to do it complicated and it starts by hiring the right type of employee and defining the right company culture.