Waterfall: can be more correctly called the "traditional" approach.
Agile: A special type of Rapid Application Development and newer than Waterfall.
The waterfall methodology is more suitable for a project that is static and will not be updated in the future. Agile methodology, on the other hand, is more suitable for small and change-prone projects in the programming phase.
It should be noted that the Agile-waterfall-hybrid methodology is widely used during the implementation of projects.