In theory, there really is no sole factor that could contribute to one big mess. Depending on the philosophy that you are following, one should assume that there are controllable and uncontrollable factors in life. Parents, peers, environment, genetics, health, and multitudes of factors are there to derail a student to failure. When one fails, the reason from one person to another varies.
True to all countries and innate to human beings is culture. Individuals make up the whole world. Regardless of the differences of a group of people in a certain clique or a certain school, as our circumstance implies, we tend to develop certain norms. Unmindful if it is right or wrong, moral, immoral, or amoral, we develop practices that are common. Through days, then weeks, months, years, and decades, these have been embedded in the roots of our institution. For instance, it could be called culture when students prioritize one subject more than the other. Ideas and opinions are transferred from one batch of students to another and becomes the culture of a certain organization or institution. When a student mention a certain professor, then a group of students would give their opinion about that professor, that is culture factor in action. When a student would say he did not study the night before when asked by friends, even if he did for the fear of being ridiculed, that is culture factor doing its thing. When we value being a doctor or a lawyer as the higher professions, that's because our culture dictates us to think that way.
It's easy to blame the teachers if students fail. But have we looked at our culture? What are we becoming as a society?