There's something about the basic "do this, make a decision, then do that" execution flow of any program that is comes naturally to some, while other people simply don't seem to be wired in such a way as to make sense of such algorithmic thinking. As it happens, the algorithm-resistant population is every bit as clever as the programming-friendly group; it's just that they think differently about the behavior of systems and thus choose to represent them in different ways than their more technical peers.
The underlying observation here is that human beings are marvelously adept at representing arbitrarily complex concepts with a wide range of different kinds of models. In fact, our innate ability to model reality is so pervasive in our day-to-day lives that the modeling process tends to fade from our awareness. Nevertheless, whether in business or in any other aspect of our lives, we are actively dealing with the complexity that surrounds us by building internal models that represent various aspects of reality. Furthermore, the types of models we use are amazingly diverse, as each of us leverages different types of models for representing the full spectrum of experiences we encounter in our lives.