Its a matter of observed-effect reasoning vs logical reasoning.
Some observed-effect reasoning is the result of taking incidental
actions and noticing a desireable result, then replicating those
actions to achieve that result in the future, without understanding the
basis. Otherwise, you can also observe (or hear from) other
people taking actions that give a desireable result, to the same
effect. Hiccup "cures" are a lot like this.
The vast majority of computer users do fall into this category:
They know a series of steps to achieve a result, but have no idea why
the steps achieve it.
It can be argued almost all human
knowledge breaks down to being "observed-effect" at some point because
we just can't understand in-depth how everything works, and then we use
a logical framework on top of those assumptions. You know sleep
lets you focus better, but who really knows why? Who knows what
being "tired" really is - why can't more nutrients keep us going?
But naturally you have a far greater command of a topic if you know why
it works as it does, than a handful of reproduceable cause-effect
cases, and in the case of software engineering, it can be down-right
hazardous to have programmers plug in code with no idea why, other than
its "needed to work." Heck, it still suprises me to see how many
programmers don't quite get the basics of memory allocation in C++
(regarding new/delete) and simply know that "the syntax requires you
to..." - as if its a fault of the language that you can't dynamically
increase an array's size without penalty.