I believe the government should provide some of these things, to a point.
Every welfare program should have an ROI and other than a few programs that deal with permanent disabilities or veterans, they should all be temporary with a goal of transforming the unproductive in the productive and we should look at the effectiveness of delivering an ROI rather than the actual cost. For example, back in the 80's there was a big hullaballo over "midnight basketball" programs. A racial stigma was attached, the costs were derided as money wasted so black kids could play basketball. But the programs effectively got kids off the street and increased the number of people who became productive tax paying members of society rather than be lifelong burdens on society. Think about the ROI of keeping one person out of jail and making them a productive tax paying citizen. That's $35,000 a year we don't spend, and if assume they achieve the middle fifth income quintile, that is an average of $7000 in total federal taxes. How much is worth to spend on someone to make that $42000 annual swing?
Whether we the tax payers hand out a dime directly to the poor, there is still a cost.
We can spend more money prisons, orphanages, gated communities, and police, or we can spend it on getting people out of bad situations.
TANF for example (TEMPORARY Aid for Needy Families) provides assistance that cannot be received for more than 2 years at a time or more than 5 years in a lifetime.
I think it is better to spend more in the short term than a lot over the long term. i would rather pay to send a person to a vocational school and give them resources to survive while they go to school than to just provide some temporary cash and then leave them in the same position they were before. There is an ROI in helping people get training for a productive job, there is no ROI in just handing out cash.