I support charities and think more people should give.
At the same time, I think it is a bad systemic solution to rely on charitable giving to solve large-scale problems.
Imagine an island with 100 residents, each with $100. Their moral compass varies randomly from Mr. Rogers all the way to a few outright sociopaths. Each day, everyone decides how much to donate. The kinder people donate more because they're kinder. The selfish assholes obviously don't.
What does tomorrow look like? Well, now all the good people are a little poorer and have a little less power. The sociopaths are richer and stronger. They use their edge to secure a little more power, maybe skim a little more off the top.
Watch that island for a few years and what do you start to see? A few avaricious monsters with all the wealth and a horde of poor decent folks doing their best to distribute fewer and fewer scraps equitably amongst themselves.
This is the real magic of taxes. Because taxes are morally neutral. They don't preferentially take more money away from the most decent folks. Ultimately there are some bad selfish people out there and if you don't have some way of forcibly reducing their power, they will take it all. Taxation backed by the force of government is one of the least violent ways of doing that.