According to liberals, the government must provide retirements, health care, welfare, housing, job training, and anything else that people need but aren't already providing for themselves. Thinking otherwise makes you uncompassionate, mean, greedy, etc.
But charity is not an unmitigated good. Some people who don't really need help will game the system, and try to obtain benefits that are not meant for them. Beyond this, charity can actually be harmful some of the time.
If you give aid to someone who doesn't really need it, he will become dependent upon it. This will reduce his incentive to acquire the skills that he needs to become self-sufficient. Thus ill-placed compassion can actually do a great deal of damage.
We see this result time and again when analyzing the results of government programs. (Of course, for liberals, only intentions matter. Results are irrelevant.) But how can this problem be avoided?
Only when you know someone personally can you tell whether he really needs help or not. This is one reason why government can never replace private charity, no matter how much money it spends.
Of course, the problem that I describe can occur with private charities as well. But at least they don't take my money by force.
The only solution is to help out the people in your life. In your family, your church, your community. Charity begins at home.
P. S. See this excellent article for more on why welfare doesn't work.