Stay with me on this.
My neighborhood food bank, Lakeview Pantry, is one of my favorite charities. They do great work right here in my neighborhood at very low cost, and they use food as an entry point for assisting their clients with other needs, such as clothing, housing and employment. I donate to them whenever I can.
I encourage everyone to support their local food bank, but please give them money, not food. The reason is simple. Unless you are a food producer yourself (farmer, processor), you probably will buy all the food you plan to donate. Since very few of us are food producers, virtually all food donations start with the donor buying the food at a supermarket.
Why is this a bad idea? In addition to it being a hassle, lugging all that food from place to place, you are cheating the charity out of the full value of your intended donation. You might be the smartest shopper in town but I guarantee that the food bank can make a dollar go much further than you can. Plus, they can't pay the electric bill with macaroni.
Yet this is counterintuitive to most people and when I have tried to make this argument in the past, I have gotten some really angry responses. People just don't get it. Part of the problem is that food producers and retailers heartily support food drives. Why wouldn't they? It's more money for them. The food pantrys don't discourage it, also for obvious reasons. They're afraid that if they tell people, "don't give us food," they won't get anything.
Food drives have their place, especially when children are involved, because it helps them understand the importance of feeding hungry people, but if you are older than about ten you should be able to grasp this simple logic. A check for $25 dollars feeds many more hungry people than the $25 you spend on their behalf at the supermarket. By all means, write that check, but let the food bank do the shopping.