Three questions.
(1) "What would the impact on our business be if we built the best possible, state of the art feature here?"
(2) "What would the impact on our business be if we half-assed a solution in a quarter of the time?"
(3) "What would the impact on our business be if we utterly failed?"
(Usually, the different between 1 & 2 is negligible. Sometimes, between 1 & 3. Don't ask people to justify success. Ask them to justify why we should spend any more time than slightly-above-failure.)
You end up with team A who wants to add the feature, team B who thinks it's an anti-feature, team C who thinks the entire application where feature lives should be scrapped, PM D who says users can already accomplish what the feature does using existing features, UX design E who says the fact that users are still asking for the feature means all those other features must be poorly designed and we should fix those...
Ergo, standing in the present, one should do ones best to estimate future costs and decide what percent of perfection seems optimal.
In reality, when asked to self-estimate, too many teams (and especially naive PMs) select perfection as the optimal approach.
Everyone underestimates the complexity of systems they aren't personally familiar with. Ask the average person how many parts are in a modern automobile and they'd probably guess too low by an order of magnitude.
But it is also true that large organizations get weird when money is easily available. You get a Cambrian explosion where without selection pressure to ensure people and teams do real, useful work, everything starts to seem like a good idea.
Determining which organizational complexity is essential and which is accidental is likely the quintessential hard problem of business.