Aside from that quibble, look at it from both sides:
The company spends a few hundred dollars a week on meals and gets 5-10x return on that money. Everybody agrees this is a good deal for the company.
The employee trades a few hours of his life for food. The hours he works, he would not have received any money for anyway unless he was working another paying job. The employee is trading "opportunity costs" (imaginary value) and receiving substantial value in "free" food.
If the "opportunity cost" of those extra work hours are sitting in front of Netflix watching zombie movies, he probably got a good deal trading that time for food. If the "opportunity cost" is starting the next hot startup, he got a bad deal.
Most would say the above is harmless and it benefits the company, which benefits the employee, so why is it such a bad thing? It's bad because this type of culture makes it extra easy for engineers to burn out.
I don't know about you, but my salary (plus benefits) rate is about $95-100 / hr.
So, let's say I 'work my butt off' for an extra 4-6 hours a day. That is an extra $3000 of unpaid work, per week, that the company gets for giving me food. Or, $200 per meal.
(That's not even taking into account the considerable extra value that the company gets in owning the results of my work.)