Well, I won't imply anything and I'll disagree with this directly. Understanding does not go a long way towards developing the right instincts. There is only one thing that develops instincts and that's repeated practice. Understanding doesn't even come close.
At best, understanding alleviates a mental block that some people have where they can't do something (in extreme cases literally physically can't do it at all) if they don't understand how it works. Not everyone has this.
In my experience as an instructor, this is more common among those who are from an engineering type background. I also find it to be strongly correlated with age. Younger people are more accepting of instruction (and tend to learn much faster).
I could write the same article about flying or programming: How I Learned to Stop Worrying and Love the Black Box.
Understanding how the plane works goes a long way towards developing the right instincts. For example, understanding the aerodynamics of stalls helped me greatly in developing an instinct for keeping the ailerons neutral and being active on the rudder during recovery. Likewise, understanding the mechanics of carb icing helped me internalize that I should not be surprised if the engine runs even rougher immediately after applying carb heat. Finally, I got skilled at crosswind landings through an iterative process of thinking about the aerodynamics and then adjusting my technique through repeated practice.
I address the topic of "theory vs practice" directly when I said in the post "My answer is I advocate for a computer science education for programmers to the same extent I advocate for an aeronautical engineering degree for pilots. The degrees are relevant, useful, and helpful, but on their own do little to make you a good programmer or a good pilot." My previous post about computer science educations addresses this topic as well. [1]
[1] http://nathanmarz.com/blog/the-limited-value-of-a-computer-s...