Owing to the fast-paced nature of commercial software development, there may not be sufficient time to remodel (or refactor) a system to support the new features trivially.
Even in the absence of copied code, the implementations are guaranteed to be very similar and just as prone to requirements change or bug fixing.
[1] Typically some combination of the following is to be expected: Of these the most insidious are the psychological effects (e.g. see broken windows theory) which can exponentially lead to software rot.
Aspect-oriented programming (AOP) aims at reducing these forms of invasive modifications in favour of adopting an "aspect" or "concern".
The use of domain-specific languages is also becoming more widespread where light-weight compilers are written to generate most of the duplicated code on the behalf of the programmer.