The study is old, and I can’t source it now, but one of the main reasons for low 4 year graduation rates is economic. The study looked at dropping/stopping out to acquire the money to continue. The upper economic quartile graduates pretty much in 4 years, and the bottom in 6 or more. Much of what was seen as dropping out 10 years ago is known as stopping out now. There is an exception. Freshmen do not tend to stop out, but rather to drop out.
Schools have gotten better about attending to freshmen (pressure on graduation rates), but they still tend to be taught by TAs and part-timers.
Can’t get classes: I don’t have any statistics, just anecdotes, but schools do not have seats in growing majors, and they can’t add upper-level seats quickly. Pharmacy is booming, for instance. At least one university I know accepts 8X the number of potential pharmacy students as they have seats for. Now maybe 4X would make sense as many students will fail organic chemistry or decide they want to be film makers, but the university has found itself in the position of having more qualified students than seats. Obviously they try to shove as many down the pipeline as possible, but . . . The same can be said of engineering, nursing, CS, etc. The rapid move to wanting STEM degrees plays havoc with planning courses.