Definitely agree with this.
Reading code is harder than writing it, and too many people don't have the patience for it.
Instead, in cases like these they'd rather invest the time re-learning the lessons of the past because they thought it should be a certain way, and if they can't instantly see a reason why it's done a certain way, then they behave (unintentionally or otherwise) as if understanding is not possible.
Especially where it's tricky it's worth including a larger pre-amble in the code itself, as well as source code control.
Often one or the other are suffering, and it's sometimes worth giving a description of how the components work together in detail, or are relied up on by more than one use case (therefore not a simple change or solution).