With any long-running software project, the need to educate others on a block of code, architectural design, or business process will likely occur. These knowledge transfers (or KTs as the cool kids call them) are often needed when a developer or subject matter expert leaves the project (sometimes unexpectedly) or when a project wraps up and is handed off to the client.
The goal is simple - make Person A understand something to the same degree that Person B does. And this sounds appropriate, right? Why wouldn’t you educate the team or client on the inner-workings of a project? There’s nothing wrong with the idea; the problem is, knowledge transfers just don’t work (usually).