Just think about a programs memory usage like a closed water cooling system in a car:
The water is pumped out of the reservoir to the parts that need cooling, then on to the radiator, and returned to the reservoir. In this way the same water molecules are used over and over again, for days, months, years. As long as the system is perfectly closed, it can run virtually forever. This corresponds quite nicely to the ideal use of memory by an application: All memory is returned to the reservoir when it's not currently needed, so that it can be used over and over again, allowing the process to run forever.
Now, what happens when you have a leak? The water/memory is lost for reuse. You don't really care where the water/memory is gone to. If it's lost from the closed system of pipes / known memory regions that will eventually be returned to the reservoir, the reservoir will deplete overtime. The amount in the reservoir will drop over time until there's not enough left to ensure proper operation. Again the analogy is pretty good: The car looses cooling water for reuse, the application memory. The car will eventually overheat, the application crash.
I honestly don't know whether this is the analogy that the people who coined the term "memory leak" had in mind, but I'd wager that it's pretty close. After all, memory was a really scarce resource in the early days of computing when the term was coined. It's like running a cooling system with only a really minimal reservoir: Any minor leak will lead failure in almost no time. So, the reuse of memory had to be pretty perfect to allow successful operation over any extended period of time.