A good teacher should  

 - be able to figure out when a student's understanding becomes better than his own to recommend some reading or to pass the student on to a more knowledgeable teacher
 - develop individual approaches for gifted students (say, emphasizing theoretical vs problem based depending on the student)
 - be realistic in estimating the impact of his teaching work on students, and not be lazy to repeat important things again and again
 - have enough "infectious enthusiasm"; without it any efforts will be pointless

(clearly there's much more, but that's something that comes to my mind right away)