Advantage and disadvantage of waterfall model of software engg?

Waterfall model tends to consume a lot more time compared to other software development models though it is able to pinpoint definite starting and ending points for a given project. This model assumes the requirements to remain static during the life of the project, so there is little or no chance of incorporating new changes to the software once work begins. If changes are tried to be incorporated it leads to more confusion and further delays. Its strong points lie in the fact that it is sequential, so there would be no confusion on the steps and the processes are straight down--no need to worry about so many conditions while working on a project. Additionally, this type of model tends to pack up on so much documentation. Therefore, such tends to be useful for future code revisions and reference. However, its drawbacks become apparent in the length of time a project will be developed and the cost it is able to consume.