They can be, but it depends on the company's culture. I personally prefer to go home and cook for myself, and when places offer free dinner, I worry that it comes with social pressure to stay and eat there, which I'd prefer not to do. If you have a family it's a bit less of a worry (you have an "excuse" for leaving to go eat with your family), but if you're single, there seems to be this expectation that of course you'd love to eat dinner at work, and you must be somehow weird if you prefer to cook for yourself at home.