Broken families, abusive childhood environments, terrible influences and friends are among some of those root causes. Check out interviews with Skid Row residents on Youtube if you want to get a good taste of the diversity of reasons for why people end up in those situations. It will be really hard to break the cycle in the US without forcibly separating many, many children from their parents and letting the government raise them in more functioning environments.
Not necessarily, someone could have an awful childhood but with adequate mental health help and support, not fall into addiction and homelessness in adult life. Ideally, yes, we'd eliminate all causes of trauma, but we can also put a _lot_ more effort into mitigating the effects later in life, rather than (subconsciously?) chalking it up to a moral failure in the affected person.