Sure, you can always find a more efficient use of the funds, but the reality is those funds will probably never be raised without some sort of incentive.
I look at it like the situation a friend has at their Catholic Church. They fund raise for a TON of local projects & then have to fight with the STL Archdiocese because they want a cut of the fund raising. But, the thing is, the people aren't interested in raising money for the Archdiocese above & beyond the minimum required. They're only able to raise this money because it has a specific purpose that appeals to them.
Every year, when our local city does a fireworks show, some cranky old gal writes a letter to the editor stating that money used for the show would have been better used to help seniors on fixed incomes. Then the next week, someone from the fire department writes in to say the show was paid for with donations. Then the next week, crank writes back that even if it is donations, they could have used the $ to help Seniors on fixed incomes. But, the donations weren't random. They had a specific purpose. And if not for that purpose, there'd be no donations.
So, while I get where your criticism is aimed, we also have to accept the reality of the situation. Truly selfless donations are rare.