What's the difference I say ?
This is the difference, http://www.cricinfo.com/magazine/content/story/458649.html
Teaching is informing the student about a fact and making him learn the fact. Coaching is letting him figure out what could be it !
When you teach, you actually list out what is known. For example, we tell the student that there is one Sun and 9(err, may be less) planets in the Solar system. Coaching is providing a few facts and letting him figure out how such facts were arrived at and what was the reasoning.
Really, only if a student carries out a practical chemical experiment does he now that Iron when exposed to atmosphere rusts because Ferric Oxide deposits are formed. He has to understand how it occurs naturally and also how it could be induced in an artificial environment. Such that he actually understands the process.
No amount of equations, theory, explanation, architecture diagrams can actually provide him the same experience. In sports, it is practically unimaginable to teach any person anything, until he performs it himself - that's why we need coaches. But if the coaches try to put in figures, designs, and try to teach a sportsperson how to move in the field, then, they are erring on the wrong side.
I have felt the same when training engineers and converting them as software professionals. We can provide the rules of the game - how C/C++/PHP/Java/SQL works. Its their duty to invest time and learn to solve problems. Simple ones at the beginning and complex ones as they grow strong as a programmer, hacker, architect or whatever. Thus, a coach has to create an environment for the person to find the path rather than show the path.
I have felt that some of us even walk the path for the team and that to my opinion is ridiculous. The path is even greater when you find it. Ask anyone who has lost his way and found it with self perseverance and dedication. He would have such an experience that he would never be able to forget it in this life. That's what real world experience provides to a person.