1. If you spend $5 on food, and the foodbank could have bought $25 with that same money, but would instead buy $15 worth of food and $10 spent on salary for the person buying food, management, etc... it was still more efficient to give the $5.
2. Margins on food are VERY thin. The local supermarket makes a few percent in profits. Unless you're buying directly from the farmers (most arent), that money isnt staying in your community. It's going to go thousands of miles away where it's being grown.. and then the remainder is going to go to Kroger/Walmart/etc corporate bank account so that they can pay their managers that 100k+/year that you so oppose charity workers making.