The advantage an agile methodology has over waterfall is that product requirements can be modified at any stage of the development process, even after planning has been completed. With the waterfall model, the project requirements are defined from the very beginning. If your vision changes or market conditions shift, you'll have to start the entire process from scratch to account for the alterations.
Let's look at a hypothetical situation in agile project development. During product development, they discover that the feature they've worked on relies on an external service, and its price has gone up drastically, which is something they have no control over. Teams working in agile would run a pivot
to identify an alternative solution; be it a custom-made or ready-made solution bought from a different provider.
In a waterfall model, a turn of events like this is impossible. You would have to strictly follow the documentation and stick with the more expensive option you originally agreed on. The agile approach puts the needs of the user and client over documentation, as opposed to the waterfall.