In my experience, bad copy pasted code results in an annoying afternoon of tech debt repayment and fixes. Badly abstracted code results in months of tech debt repayment.
Of course, the answer is “don’t make bad abstractions”, but we all know how that one goes with a team and changing product reqs.