Rework product at planning stage than just before shipping it

When does one go to market to sell their products ? Does one wait forever till the time a product is perfect or do they ship it when it has reached a certain benchmark. Seth Godin says that companies are afraid to say "go". Often that means the product is tweaked many times just before it is shipped out. Closer to the deadline of shipping, this happens more frequently. Can we add a small feature? Can we tweak it like this to make it look better? Of course the purpose is to give the product the best look or highest number of features before it is shipped out and made to compete with others. However waiting for the product to be perfect and including more features than what market actually needs may not be that useful. The fight starts most of the time only when product enters a market. That fight is not really for features but for perception. The fight is to reach the ground first and then occupy it. Actual battle starts at the perception level which can only be determined at the planning time and not at the execution time. At the execution time the only concern needs to be to push the product out. The planning should have happened before. Every little change adds to the cost , time and takes up resources reworking. It may introduce unwanted bugs in the product. The best time to rework is in further releases when enough customers desire those changes. Reworking too much before release is trying to control the situation which is not easy. Even big corporations have learned it with a lot of pain. Wars in business rarely get won in the first strikes.