It's not an either/or, like most things in life this is nuanced and not black and white. If you look at how the Gates foundation operates, much of what they do is designed to leverage the tax based in a country, i.e. they set up programs and support that make government programs more effective and in many cases use peer pressure to get governments to act in the best interest of their citizens. And since USAID is less than 1% of the U.S. budget, if I want to have an impact in the places where the Gates Foundation is working, paying U.S. taxes isn't going to help much. Finally, after working in the federal government for over 20 years I can tell you that foundations are often able to spend money much more effectively than the federal government for structural reasons; for example, the Gates Foundation can find a top supply chain guy and pay him $250,000 a year with bonuses based on performance. The max a federal employee can be paid is $161,900 and that impacts who you're able to hire. Not to mention the amount of bureaucratic crap a civil servant has to deal with which is no-one's fault and not something that can be eliminated, but is simply inherent in running a multi-million employee public entity run by political appointees subject to full public accountability. As a federal employee I would have welcomed the opportunity to have a well-run NGO work with us so we could both take advantage of the chance to balance out our respective strengths and weaknesses.Why paying taxes is better than donating the money to foundations:
1. Paying taxes will benefit 'every' citizen.
2. Giving to foundations will only benefit own self (e.g. for political mileage, political control, business/political favors, and so on).
Instead of the money going to the infrastructure of the country, it is being used to serve the elites (e.g. Clinton foundation).
A bunch of smart well meaning people would probably also argue that tax dollars also go to serve "the elites", but no need to get off on a political rant.