One more thing worth noting is that they flew through bad weather on the approach, which led to the deviation from the glideslope. But the actual issue IMHO is not going around when they noticed that the approach was wildly unstable, or at the latest when they noticed that they were going to touch down with very little runway left.
It wasn't bad weather. Captain was going way too fast to begin with, and started descent later than needed. So he needed to catch up with the glide/descent slope by making the plane descend faster. Thus gaining even more speed. He still arrived too late (overshot the beginning of the runway), with higher speed (I think 30 kts over the limit) and not configured (flaps not down).
It was really, really, really sloppy approach. And all could have been corrected just by executing go-around literally at any point in time up to 10 sec before he did. Both pilots still would have their careers, and those 5 people would still be alive.
It's one of those situations where any one risk not occurring probably would have ended up with no excursion but all risks present at the same time made this outcome.