“We end up with a presumption of reusability when really we should have a presumption of repetition.”
Two pizzas share a crust, sauce and cheese, so somebody writes a shared function. Six months later it takes four boolean flags and nobody can change it without breaking the other pizza. Most “duplicate” code is two things that happen to look alike today. Copy it twice and wait for the third case before you abstract anything.