There are two main reasons for prison overcrowding.
First, there is the fact that the United States imprisons a very large percent of its population when compared to other developed countries. The United States tends to have laws that are much more punitive than those of many other countries when it comes to imprisoning people. We imprison people for many crimes and we tend to give them longer sentences. We also do not do a very good job of rehabilitating them in prison or helping them after they are released. For these reasons, there is a huge number of people who must be incarcerated.
At the same time, prisons are tremendously expensive. It costs tens of thousands of dollars to incarcerate any one inmate in a given year. This is increasing as more inmates come to be older with more health problems. Because prisons are so expensive and because there are so many demands on government funds, governments are not eager to build more prisons.
When there are large numbers of people needing to be incarcerated and governments are reluctant to spend on new prisons, it is inevitable that there will be overcrowding in American prisons.