"When I'm in the office I'll pop out at lunch time and buy myself a sandwich. When I'm on site at a clients for a few hours I pop out at lunch and buy a sandwich, but this now becomes the companies responsibility?"
I kind of feel the same way to a degree, I always bring a sandwich to work, so why should me going onsite for an install be any different?
1) If we're doing an install with an onsite IT team then going out together and eating together can improve the team/become friendlier and usually we end up stopping at a point things needs discussing, helps if we're all eating together. Better than slinking off to sit in the car by myself.
2) If I'm getting back home after 7pm then I don't see an issue stopping for something on the motorway home, you're already eating into my evening family time for the companies benefit, let me have a quick bite without half an hour of cooking.
As for breakfast, my place will cover it if you set off before 6am from home which I think is pretty reasonable. If it's a hotel stop over then we generally get the premier inn breakfast included as part of the booking.