When releasing a major new piece of functionality, I have this theory that it takes three major releases actually to deliver what the customer wants.
The first version is what you could build within the time and resource constraints available to you.
The second release is a set of bug fixes and desperate hacks to make the product more attractive.
The third release is the product the market wants.
Because it takes three releases to build a product the market wants, getting that first version out as fast as possible is so important. And not to get too anxious about whether the product is actually what the market wants.
Once you ship, then you get customer feedback and fix the thing you shipped. And while fixing issues and selling the product you learn the thing the customer wanted.
And then you build that.
Most products fail because we spend too much time and resources trying to make the perfect product or fail because we never get to version 3.