Mental health is a serious problem.
You cannot put them all in one lump. Each one is an individual with a different reason for being homeless.
They are all different, just like you and me. Some have no choice but to be homeless, others choose to live out on the streets. They all have their reasons, and we should try to respect that. A lot of them need and want help, and we need to give them help. Some of them just want to be left alone, and we should leave those people alone, just like you would leave someone who lives comfortably in a house if they wanted to be alone. Some homeless people are the most generous people you will meet, others will scam you. Every person, regardless of whether they are homeless, religious, LGBTQIA+, or look different are all unique and should be treated the same as you would treat anyone you meet on the street.
Most are just people trying to get along in this world as best they can. They have had circumstances that have forced them into a homeless situation. Loss of a job or spouse. Mental heath issue. There are those that are addicts, but many of them are just self medicating a mental health issue. There are a few that just like not having the responsibility of having a home. Things like rent or mortgage, or utilities bills, or the upkeep. Each one has their own reason.
Some need help. Some are scammers. Normal folks you see daily.