A lot of the discipline books that I read tend to wobble on explaining cognitive development of humans. There's a level of disagreement as to how capable a child is of understanding things at different ages. This is due to the fact that psychologists and sociologists are still studying brain development in young children. It's also the reason why HB and I did so many different studies particularly on language acquisition. How do children learn language? Do they chunk stuff together? Can they learn syntax if exposed to it? etc. etc. According to some of the studies we took part in, children do learn syntax even for made up languages. But how they measure these things is based on how long a child stares at something. So are any of the experiments even accurate?
This is why so many discipline books focusing on specific age groups disagree. Sometimes new research comes out and sometimes it's simply because.
There are some definitive things that a parent should understand about cognitive development in regard to discipline.
1) You can't set your behavioral expectations for something clearly beyond a child's development. Meaning there is no way you can expect your child to have a political discussion with you at age 5 but you can at age 15. So you have to tailor your disciplinary measures to that.
2) You need to know the basics of normal cognitive development for each age group (or for your particular child's special cognitive needs) before you can determine what's the best course of discipline.
3) To find out this information, talk to pediatricians, experts in child cognition, and read books on that subject alone. Yes, I've just told you to read more. Sorry. Parenting is a job unto itself. And it does require a modicum of research. Usually pediatricians are good about handing out this stuff without you realizing it. It comes with those questionnaires that say, "at what age did junior roll over" ie physical development with stuff that says "is your child able to speak two word sentences?" cognitive development. You should ask for more information since in these instances the pediatrician is looking for abnormalities and not telling you exactly what is normal.
So briefly what is normal development? There are a number of different cognitive theories out there. Google Piaget for one. But I'll break it down into two basics: concrete and abstract thinking
Concrete thinking involves using your senses. Infants are born scientists and use their senses to understand their world around them. Object permanence, or the ability to know that something is there even though it's hidden, is still a part of the concrete thinking stage. Concrete thinking continues all the way up through to adults.
Abstract thinking begins far later in cognitive development. Abstract thinking involves abstract concepts. For example, time, death, love, manners, empathy, fairness, etc. Experiments show that children do not even begin development in this stage until around the ages of 5 and 6. If you take two identical pitchers of water and two glasses of different sizes (short and fat versus tall and skinny), you ask a three year old is the water the same. They would say yes. Then you pour from those pitchers into the glasses and again ask the three year old if the glasses have the same amount of water, they would tell you no. As the same question to a six year old, and they could tell you that yes it's the same. Unless you spilled some, which during this particular experiment happened and the six year old explained that's why they couldn't be exactly the same.
This explains why telling a toddler that it's time to go causes a temper tantrum. They simply don't understand time. You also can't expect them to share toys because they really can't empathize that someone else is without.
Does this mean that you don't teach (or discipline) children these concepts until the age of 5? No. This does, however, mean that it's an unreasonable expectation on the part of the parents to have the child behave "properly" when it comes to abstract concepts every time. Sure you can teach them to share toys with their sibling. But they may only share one particular toy. Or they may not share with others. Or more importantly, they don't understand why they need to share. They also, I might add, can't transfer something they've learned to something mean everything. For example, if you tell them the coffee is hot, they will learn not to touch the coffee. But if you say the plate is hot, they may still be tempted anyway because even though they know what hot feels like they can't transfer the behavior. Does that make sense?
Okay back to abstract thinking. How do you teach a child abstract concepts? You do two things: model the behavior that you want and make the abstract concept as concrete as possible. Again you must understand that is not perfect. The idea is that you are teaching them the basics with the hope that once they reach abstract thinking age they can refine their behavior.
Model the behavior means to model the behavior. Take the concept of manners. In my house, we say "please" and "thank you" to everyone. I say it to my son. I say it to my husband. Etc. My child does not understand manners: what they are or why they are important. He does, however, understand that this is how we talk to each other in society so as part of his social development he has learned to use them too. It would, however, be unreasonable of us to expect him to remember to say "please" and "thank you" all the time. That's why you hear parents prompting children often say "thank you." So I'm not going to punish him or cajole him or admonish him or reward him if he does or does not say "thank you." It would be unreasonable to do so. I will however praise him to reinforce the behavior, but that's how you teach socialization or any behavior.
Let's look at making an abstract concept concrete with two examples: love and time. Love is a hard concept for an adult to grasp let alone a child. The most concrete way of showing love is affection: kisses, hugs, high fives, and those sorts of physical things as well as verbal praise go a long way. Time is another big one that parents run into with toddlers. Using a visual or auditory timer and teaching the child the expectation that once it makes a sound something will happen helps a lot. This also helps with the concept of sharing since you can teach a child to take turns.
Does a child not being able to understand abstract concepts make him/her selfish or unloving etc.? No. It's part of every human being's development. We all have gone through these stages too. It's important to recognize that children aren't stupid but they aren't little adults either. You really have to think of them as a different type of human being in order to teach them, to shape them into the type of human being you want them to be.