These are two different software development life cycle methodologies where waterfall is more of sequential approach where only if one phase is entirely completed then it starts with the new phase. Agile is iterative approach as it is used for fastest delivery of product, where the work is planned in terms of sprints and make sure the work is completed in allotted time according to the priority of deliverable.
Here in waterfall model client won’t be involved till the end, after the requirements gathering stage for which changes are difficult to implement and handled. But in agile client reviews each sprint at the end, here client is highly involved in every sprint. In waterfall model process is documented clearly but in agile there is no documentation, code itself is a document. Waterfall model is advisable for small projects and agile is advisable for large projects. Waterfall model is rigid at times but agile is known for its flexibility.