From what I can tell a lot of it comes down to whether someone cares more about making sure that everyone who needs help gets it or cares more about making sure that no one who doesn't need help gets it.
Funding is finite. Someone who doesn't need a benefit and receives it can be taking that benefit away from someone else. If you turn up at a food bank when you don't need to you're taking food out of someone else's mouth.
It costs more to determine who should receive the benefit than to simply provide it for everyone. Who gives a shit if a rich kid gets a free school lunch? They have to be at school. Feeding everyone should be a cost of the education system, the same way keeping the lights on and the temperature moderate is. Or should kids start having to pay for the light above their desk? For each drink at the water fountain? Maybe we can use cameras and some AI to tally up the expected utilities bill for each student and send that to the parents.
Rich kids can bring their own lights. /s
I've known people who care more about preventing undeserving people from receiving help even if the cost of enforcement is greater than the cost of abuse.