They serve three meals, but you're not expected to eat all three meals. Some people like to get in early and leave early, others like to get in late and stay late. The food is just a perk, there if you want it.
Also, you're not obligated or expected to work longer if you eat dinner. Not sure where you heard that one. If you're at the office when dinner is served, it's considered that you've already stayed late.
Of course, now there are constant stories of tech employees griping about how evil they think their employers are, how unfairly they're being treated, how little freedom they have to express their opinions. It's hard not to roll my eyes sometimes.
I found a good litmus test with how courteous people are, or aren’t, in the gym.
Personally I probably manage to get breakfast once a week on average and stay late enough for dinner 2 or 3 times a year.