In a team, the contributor thinks of the value of his own feature, but not the complexity it adds to the whole. A reviewer needs to do that. Preferably at the planning stage. It is a tough to tell people not to add a feature, but it has to be done.
When I'm reviewing AI code I worry about complexity more than anything; correctness is relatively easier to assure, whereas complexity is a value judgment.