There is also the concept of being rolled back due to injury. If you sprain your ankle, for example, you can’t keep going. It’s a persistent fear of all candidates, since it’s a big setback. But the flipside is that apparently you only get rolled back to when the next class catches up to where you’re at right now in training. It’s one of the cooler parts in my opinion, since you can see they truly value the candidates rather than thinking of them as disposable tools (which you occasionally feel like as a programmer...)
But, ultimately, you’re correct: it’s inherently dangerous. Everyone signs up knowing the risks.
EDIT: Found the timestamp: https://youtu.be/AGvvNKBGgUw?t=2266
The emotional impact of going through the training will not be the same the second time around, so they won't take you back for another try.
A story I heard was that the trainers were total arseholes saying he was weak, saying he couldn't finish, and so on - then as soon as he realised he had to stop (broken leg or something) their attitudes completely changed to supportive and caring. Going through that and seeing the other side would definitely ruin the experience if they let you back in.