I'm a fan of finding your local food pantry and helping out / donating there.
Most always need volunteers. Depending on the place, it can either be more effective to donate money or food. Some places have affiliations with larger collecting centers which just charge the individual pantry handling (usually something like $0.10 / lb) for food; if a place doesn't, they might prefer food donations because otherwise shopping is one more thing a volunteer needs to find time for, and they won't get a particularly better value than you.
If you want to shop for a food pantry, it's best if you ask them what they're currently short on, but in general it will be your proteins and fruits, because both tend to be more expensive than the vegetables and carbs, and a lot of people donating to food pantries are giving what little they can. You'll mostly end up giving a lot of a few good staples that are reasonably priced - tuna, canned chicken, apple sauce, peaches - but if you throw in a little variety every now and again (spam, blueberries) you'll really make someone's day, who's been eating the same damn thing for longer than they can remember.
Dried beans are cheap but not very popular, because they're a bit more time consuming to prepare. Don't donate cranberry sauce, every food pantry has a shelf full of it. Large packages of food (20 lb bags of rice) are tricky; they're usually cheaper, but then the pantry has to repackage it, which is more work, less appealing, and introduces more risk of food contamination. Buy generic canned vegetables, but name brand cereal. Being poor is no-name cereal from a plastic bag, and you'll make some kid's week if they get to eat actual Cheerios for breakfast, but no one cares what label is on their can of green beans.
If the food pantry near you is well stocked on food, you can load them up with personal hygiene supplies - toilet paper and toothbrushes, but also deodorant, laundry detergent, feminine products, and diapers. Most places will also give out pet food; that is usually safe to buy a 50 lb bag of, because people are happier to take a gallon ziploc of dog food.