> TL;DR — Duplication is better than the wrong abstraction
Woah, horsey, hold on a moment!
While it's true that an abstraction can get you into trouble, that's not always true.
Over my many years I've heard a number of people say: "We have 100 copies of the same site, but slightly altered for each client, and we don't have time to go back and refactor them, we can't upgrade them, and we're three major versions behind. Want to come work for us? (Silence.)"
I've only heard one person say, "We refactored X and it bit us in the ass, because the developer didn't check when he/she was altering it and accidentally changed behavior for everything."