Simple!
(1) In Waterfall model, requirement analysis is the first step of the SDLC. The software is developed based on these requirements(signed off by customer). The problem is there is usually a massive difference between what customers want and what they need.
(2)Prototyping techniques, used by Business Analysts to find customers' real needs and core requirements. The issue here is those requirements are changing over time and what customer needed in the beginning of the project are different with what they need when software is ready to use.
(3)Agile approaches are adaptive, transparent and designed to reduce wastes in development process. Based on early delivery and continuous feedback.\/delivery cycle and iterative and incremental business requirement analysis, what the customer really needs will be ready, just-in-time and just-enough.