The waterfall model is a linear sequential development process where each phase must be completed before the next can begin. It has six phases: requirements analysis, system design, implementation, integration testing, deployment, and maintenance. While it provides structure, all requirements must be known upfront and it does not allow for flexibility if requirements change. It is best for projects with stable requirements where quality is more important than cost or schedule.