Most software goes wrong long before anyone writes code. It goes wrong when the problem was never written down clearly, when the first version was scoped to do everything, or when nobody asked whether the thing already exists.
Discovery is the work of answering those questions on paper, where changing your mind is cheap. We go through what the business actually needs, what the software has to do to satisfy it, and where the genuine risk sits. You come out with a specification precise enough to build from and honest enough to decide against.
The deliverable is yours. If you take it to another developer, or decide not to build at all, the engagement still did its job.