I teach primarily high school juniors and seniors, and I allow food in the classroom. I made this decision after my first semester of teaching when I found that focusing so much on nit-picky items such as whether someone has a bag of Skittles in his pocket was taking away from my instructional time. Additionally, because of the age of my students, they actually seem to be more respectful about cleaning up after themselves when they realize that I think they are responsible enough to handle it. At the beginning of each semester, I explain my policy to the students, warn them that their privileges will be revoked, and discuss who our custodians are so that they will appreciate the work that they do in the building.
While I really don't care if my students like me, it is important to avoid creating an antagonistic environment in the classroom. I've heard students complain about teachers who eat and drink in front of them or use their cell phones in front of them, all while telling them that they cannot do the same. Because teenagers especially are so observant of hypocrisy, I think that high school teachers have to be careful about not goading their students.
One final point, more and more of my students come from extremely impoverished homes or are actually classified as homeless. Because I have this knowledge, I have to keep in mind that those students are not going to be able to focus on my English lesson if they have not eaten for several hours. Sometimes the only way that they get any type of breakfast is from other students' sharing snacks with them. The post about nobody starving by going without food for three hours is, unfortunately, inapplicable to my region because it's not just three hours that the student has been without food; sometimes it's since the previous night or afternoon. There is a difference between the college classroom and the typical public school classroom because we are dealing with young people of an age when someone should be looking out for their basic needs but is not doing so.