As my boss likes to say, they have the free meals because they expect you to be there for breakfast, lunch, and dinner.
I rarely make it to breakfast, and usually stay a couple hours past dinner.
If you are young and don't have a family, having your employer cook you healthy meals is probably a net time-saver, even if you do work 9am - 7pm.
Unfortunately, maintaining that work schedule means I'd have to continue to not have a family.