There are two sides to this discussion and the results of the discussion are something that I find fascinating.
On one side we have those who feel that it is vital that we give people the tools to get ahead in life.
On the other side we have those who feel it is vital that we make sure people have the necessities of life.
There are valid points to both arguments and there are fallacies in both arguments.
This is not a black and white, all or nothing issue.
We need to make sure people have the necessities of life, while at the same time we work to give them the tools to get ahead in life.
Doing either one without the other will almost always result in failure. The reason being that doing one without the other will almost always leave the job only half done.
We can teach a person all the tools we want to fend for themselves, but if we do not get them enough food, for the night, or a place to sleep, or the mental or financial help they need to sustain themselves until they can get working and making an income, then all the work we do teaching them is wasted.
On the other hand we can give a person all the food, clothes, housing, money and even health care we want, but unless we teach them how to find work (or even train them in a new field if necessary) then we will simply end up having to do this forever.
One of the major failures of all the programs that are out there to help people is that the vast majority of the programs focus only on one aspect of helping a person out. Each program needs to be doing or enabling both aspects of giving a person a hand as without both programs, neither program can work in a vacuum.