“For every complex problem there is a solution that is simple, neat and wrong.” (H. L. Mencken)
Probably since the mid-70s, the waterfall model has been the prevalent approach when it comes to software engineering. The basic idea is easy to communicate and appeals to common sense. First you find out what is needed, then you decide how you are going to do it, then you do it, after that you check if you really did it right, and finally you use it.
So it is quite surprising that the omnipresence of the waterfall process seems not much more than a quirk of history, some call it even a historical accident.