I agree with you, I perceive it to be really difficult to change existing code to fit new things in. There's all interactions between things.
The source code of the widgets we use everyday - such as text editing or graphical editors are or your web browser's Javascript engine, are enormous.
'Just do X, too' is really difficult with what is already there.