The short answer is that punishing your dog for behavior you don't like is less effective than rewarding him or her for behavior you do like because punishment can have unintended side effects that can damage your relationship with your dog. These findings are supported by the American Veterinary Society of Animal Behavior (ACSAB). See their full report HERE.
However, it is a little more complicated than that. You also need to be careful not to reward your dog accidentally for behavior you really don't want. Dogs spend their entire lives trying to figure you out and answer the question "How do I get this person to pay attention to me (play with me, feed me, pet me, take me with you on walks)? They know the way to your heart is to make you happy, and they offer a lot of behaviors for you to select from to see what works.
For instance, how does your dog greet you when you come home? He is likely exuberant, and may jump up for attention. You are, of course, glad to see him and pet him fondly and tell him how much you missed him. What have you done? You have rewarded the behavior of jumping up on you when you come home. Not good if you are carrying a load of groceries! Also, not the dog's fault! YOU PICKED IT by rewarding him with attention.
Training a dog to do what you like is as easy as this:
- Reward what you like and ignore what you don't. Dogs are pragmatic. They don't do things that they don't find rewarding. Now, there are some things that are self-rewarding, like chasing a chicken, and ignoring that activity will get your chicken killed. Correcting that behavior takes more advanced training (use the contact form to get hold of me to discuss this problem if you have it). But, in general, you get what you reward.
- Reward Immediately and Often. Most dog owners know what they don't want in dog behavior, and they end up saying "NO!" to their dog all the time. This is not effective. If a dog is about to do something you don't want him to do (like stealing your steak from the table), distract him with a sharp "EH! EH!" sound. They will typically stop to look at you for a second, and in that second you need to reward the fact that they looked at you with "OH! What a good BOY!" while you walk over and save your steak. Then, give him a treat of some kind, IMMEDIATELY. What did he learn? Paying attention to you PAYS! Does it always have to be food reward? No. Talking to a dog, touching a dog, and looking at your dog are all rewards. Even if you are yelling obscenities at the dog, it is a perverse form of attention, and if that is all the dog ever gets from you, it counts as a reward. However, food is the highest reward (the strongest motivator). Use it whenever the dog does something that is particularly difficult (like leaving that unguarded steak on the plate), and use verbal rewards and tactile rewards at the same time (by telling him what a good boy he is as you give him a nice back rub)! He will eventually associate these lower level rewards with the memory of food, and that upgrades their value to him.
- Be consistent in your behavior so the dog has a chance to figure you out. You actually don't need to say anything to a dog. Actions speak louder than words with them. For instance, if you always put your groceries down before talking to the dog, looking at the dog or petting the dog, the dog will learn to patiently wait for you to do that and call him over before greeting you.