In a study for ProPublica, Amy Goldstein documents that people who lost their jobs and participated in a federal job training program were LESS likely to be employed afterward than those who lost their jobs and did not receive any government-funded job training. That is, the job training made people worse off instead of better. Government by definition is inefficient and wasteful compared to free enterprise (including non-profits that rely on achievements for donations) that must continuously succeed and improve to stay alive.
Similar studies can be found for other government programs. "Head Start" has consistently been found, in evaluations based on randomized, controlled trials, to provide little or no lasting benefit to students. Yet it's heavily funded by taxpayers' dollars.
Yes, charities are more effective than government. Charities do not have all of the government’s bureaucracy and layers of red tape to get through before they can jump into a situation and start helping people. This reflects sadly on our government’s ability to help disaster victims in a timely manner. Our government should take a lesson here and realize that reactions to disasters need to be immediate – not promised for future delivery.
This is a hard question, but I am thinking more on a level of very local charities in which the community itself deals with its own impoverished. Government is too large and impersonal and makes decisions from a distance. Government programs are generally subject to much abuse in terms of fraud perpetrated by applicants. In a local community people know which people are truly in need. I tend to focus on local charities because large charity organizations seem to eat up most of their donations keeping themselves afloat, and very little trickles down to the people they are supposed to be helping. In the good old days people in need would go to their local churches, collections would be taken up, and donations for them. I suppose government had to take over this role because the world has just gotten too over populated, but government is not the best agency to handle it.
Charities can be much more efficient than government. They are able to operate with lower cost and give more direct help to those who need it. Charities fail to be effective because they have limited resources. It would be nearly impossible for charities to run the Medicaid system, giving money to impoverished people who need medical help. They might be able to run the Medicaid system with less overhead cost, but they wouldn't be able to reach as many people due to limited capital.
Charities are wonderful, but they are not large or comprehensive enough to help. It is true that government can sometimes outsource or partner with a charity, but at the end of the day, government is the most efficient way to reach the greatest number of people and to ensure that services are delivered without discrimination. Part of the problem is that charities have to spend most of their time fundraising, which makes them less productive.