Teaching someone to do something is much different than doing it yourself. Teaching ANYTHING well requires a good amount of preparation and thinking about what you're teaching in new ways.
I've always been complimented on my ability to do things like give briefings, or explain technical stuff to non-techies.
But as I worked on my CFI I realized that there's a difference between getting something into someone's head while you have them in the room (and getting them to agree with you if that's the goal), and getting something to STICK in their head so that it becomes part of a foundation for a higher level of knowledge. If you're teaching a skill, you want the student to not just know "What" to do (rote), but the underlying reasons for doing it that way so that the student can do the work and adjust as things change.
I'm convinced that talent plays a role in teaching, and it and the dedication brought to the task is what distinguishes a great teacher from a good teacher. The difference between a good teacher and a bad one is often a matter of not knowing any of the basics of teaching in general.