This is the reason why some beggars on the street make more money than a full time job (If they're in a really good spot).
Everyone thinks they're just giving them a little bit. But all those little bits add up to a lot. Without any visibility into how much other people have already given them, there is no way for people decide if they really need the money or not.
If you saw a beggar on the street, and knew that they'd already been given $1000 so far that day, would you still give them a dollar?