For software development, agile and waterfalls are yet the most reliable methodologies. They work effectively and deliver the best products within the least possible time. But while waterfall uses a sequential design process, agile gets things done by following an incremental approach. The waterfall is usually like plan-driven that sees coding, implementation, analysis, and testing as separate phases of a software development project. Waterfalls restrict adaptability by limiting change as it works better when the scope of work has been earlier known.
Agile offers a modern approach as it is opened to changes, and it works better when the scope of the project was not earlier known. Waterfall follows a traditional approach that may seem rigid sometimes, and the whole development process is shared into a series of events from conception through to production. On the other hand, agile is newer than waterfall, and it uses an increment approach in leaning development.