Nothing is a "one size fits all" but generally I've found giving people some control over their own circumstances is a good thing. It's really worth reading the whole article. I think there needs to be many approaches to this problem.
"The results of a B.C. research project that gave thousands of dollars to homeless people are in and, according to one researcher, could challenge stereotypes about people "living on the margins."
The New Leaf project is a joint study started in 2018 by Foundations for Social Change, a Vancouver-based charitable organization, and the University of British Columbia. After giving homeless Lower Mainland residents cash payments of $7,500, researchers checked on them over a year to see how they were faring.
All 115 participants, ranging in age between 19 and 64, had been homeless for at least six months and were not struggling with serious substance use or mental health issues. Of those, 50 people were chosen at random to be given the cash, while the others formed a control group that did not receive any money."