Much of what causes poverty can be alleviated by changing patterns of behavior. Three things that can help a person enter the middle class are, graduate high school, keep a job for more than a year, and don't get pregnant. Many people don't understand that "The poor" are usually not a permanent group of people. It changes over time. Usually as you get older you become more affluent.
Quite a bit of the time, the reason is purely medical or circumstantial. I mean, if someone comes to this country, and can't get a good job because any minor education they had coming here is now worth nothing, and they probably have little to nothing else, so they move into a poor area and their children can't get a good education and they can't get a good job.
Or, they started out riding the line of lower middle class or upper lower class, and medical bills from an emergency drive them into bankruptcy, or an unexpected layoff. And many homeless people are mentally impaired in some way.