Waterfall works best for projects completed in a linear fashion and does not allow going back to a prior phase. Agile focuses on adaptive, simultaneous workflows. Agile methods break projects into smaller, iterative periods. Kanban is primarily concerned with process improvements, while Scrum is concerned with getting more work done faster.
https://www.lucidchart.com/blog/agile-vs-waterfall-vs-kanban-vs-scrum