Because students might do bad things in school and smoke so if they get held back they will learn more. Sometimes teacher held you back you are not getting good grades and you are really really bad at all the subjects. My friend was in grade 8 and she got held back to grade 7 because she smoked and hanged out with bad people.
This may be an unpopular thing to say, but I am in favor of students being held back if they do not meet the requirements to move onto the next grade. If a respected fails Math 1 6th grade for example, they are clearly not ready to move onto to Math 2 in 6th grade. If the students fails more then one or two classes in 6th grade, they are no where near ready for 7th grade.
A student should not be held back because of a few reasons. One they are held back the teachers will most likely just be teaching them the same things they HAVE ALREADY LEARNED. Teaching them the same things won't get them anywhere. Also, they will bee known as the outcast of the school because they were held back.
Holding a student back usually just affects their self esteem and makes them socially unacceptable.
But a student who can not read, for example, should be noticed mid way through the year and given extra help. They should not be ignored and just passed along, but in most cases they should be kept with their grade.