The simple answer is that we need to understand what stage of cognitive development our students are at, and create our teaching strategies accordingly. Based on Piaget's theories you should not be using truly abstract ideas until adolescence.
Examples would be that you teach a young child through purely sensory experiences. You give them objects to touch, taste, and smell. You offer them different textures and colors in their toys. As a child gets a little older you use language to coordinate with the sensory input. You give textures names, you give colors names, you give tastes names, as well as the objects around them. Young school age children can begin to grasp concepts outside their immediate outlook but still need concrete reinforcement. You teach math concepts with manipulatives. You teach new vocabulary with pictures. You also take into account the child's limited view of the world, vivid fantasy life, and lack of understanding of time. As children grow you can make more connections to the real rather than fantasy world to teach concepts and they begin to understand and apply the abstract.
One key to remember is that all children develop at a different rate and that depending on what age your students are you may have students at different levels of cognitive mastery and therefore you must differentiate your instruction to meet the needs of these learners at their cognitive level.