Related and relevant question for software products: At what point we should say the product is DONE and no new features will be added. There will always be new customer requests for some weird corner case but there is a cost of adding every feature - engineering cost and complexity cost for the user.
Thinking for consumer products like Gmail etc but applies broadly.