what is the discovery phase of a project

What is the discovery phase of a project? What happens during this process? And is it really essential for your software product's development process? In other words: what if you just skipped it? What then? Do you really need to collect, “weigh” and evaluate all that information way in advance? Way before actually launching your product? Couldn't you just go... agile and adjust to changes of scope and requirements along the way? Now, let's shed some light on this still too vague, too often misinterpreted expression: The "discovery phase" in a software product's development cycle.