Because most programmers are NOT master programmers, they just bang out code that is a means to an end - bang out code that other people cannot read and immediately retrieve the highlevel concepts that sits behind it.
Master programmers instead make sure that at the highest level the code first explicitly encodes the conceptual design, and then at a lower level of abstraction does all the necessary things that let the code actually produce the required program result.
A master programmer never divorces the logical conceptuap structure ("the theory" in the terminology of this article) from the implementation code.
Most peogrammers however bang on code in ways that quickly and radically diverge from the conceptual design, and they don't care because as long as the program produces the desired results, the code is "perfect" in their minds, never mind that they themselves won't be able to understand the code they wrote today in six months time!
A master programmer can go back to a code base that he hasn't seen in 10 years, and be be productive on it within an hour, because all the core concepts ("the theory") is explicitly encoded in the program source code.