It is important to know when a product includes all of the desired features and is ready for release. Sometimes, this can lead to spending excessive time perfecting it only to realize that the extra time spend on such perfection might not have been worth the effort. The longer time is spent perfecting a product for release may result in missed sales opportunities.
Insisting on releasing perfect products can lead to frustration and disappointment because there is no such as a perfect product. The common cliche that you “can satisfy some people some of the time, but you cannot satisfy everybody all of the time” consistently holds true. When choosing which features to include in a product, one must consider the time and effort required to implement it in exchange for the increased (or lack thereof) sales that results from it.
During the finalization of a product there will always be tweaking involved based on both internal testing and possibly from external beta testers. However, as each new product is released you will gain experience to know when to stop making adjustments and when to just finish creating the product so it can be marketed.
Knowing when to stop perfecting is important for both product development as well as individual projects even when the project does not originate from you. External requests, sometimes referred to as contract work, will have strict deadlines and milestones that must be accomplished along the way which can all be reasonably satisfied without being “perfect”.