My favourite quote by a programmer is this:
"A good technical writer says everything twice; formally and informally." - Donald Knuth

What he said should actually be applied to teaching in general. 

Some students will understand new things by having equations, numbers, definitions, and reasons given to them. 

Some students will need to be able to imagine scenarios, problems to solve, or practical applications in order to grasp and retain new concepts. 

I have always needed both.