I have to say that I don't think that snacks are really the issue. I've worked in offices with snacks and offices without snacks and I don't think it makes any difference at all. Snacks (and monitors and new computers and expensive chairs and company purchased gadgets) are a proxy for appreciation. It is quite easy to set up a delivery of drinks. Everyone can chip in, and as programmers get paid multiples of the minimum wage everywhere in the world, every programmer can afford it. However, when I have worked on teams that attempted to do this, it has been shut down by those that feel that "We should not have to do this. The company should provide for us!"
There is a rock star mentality amongst programmers. To be honest, I don't think it's unique to programmers. Sales people and management traditionally have their junkets that say to them, "You are special". Just like a salesperson would ideally like an open bar, programmers would ideally like an open budget for snacks/toys.
But why do programmers and managers and salespeople value this extra (and really inconsequential) thing? Shouldn't actual appreciation trump the purchase of drinks, or gadgets or copious quantities of alcohol? In my experience, it does not. We have all seen and heard horror stories of bad management and we have all had the feeling of "Well, if I have to put up with this crap, they are going to have to pay a lot of money." But I have also seen good managers go to unreasonable extremes to help employees and to back them through difficult times. Instead of thinking, "I have an amazing manager. I don't care about soda." normally I see reactions that border on "What have you done for me lately? This cheap crap is unacceptable."
I have never been in a traditional management role ("agile coach" is the closest I've come and I always concentrated on improving the skills of developers rather than working on business processes). What I find frustrating about this situation is that smart managers realize that for an extra 10% of their budget, they can provide a modicum of luxury for the programmers in lieu of actual appreciation. Soda trumps helping a developer make it through a rough patch in their life. A monitor with pixels too small to even see is more important than being able to sit down and talk about how to make work situations better. Programmers will burn down the building if they don't get their name brand chair, but will tolerate never having discussions about how to develop their career.
That sucks.