In another thread I suggested it was possible to raise and train a dog without ever using punishment and was astounded to hear that no one agreed with me- people not only thought punishment was effective, but also unavoidable. So let's discuss the proper role of punishment. Let's say you're a typical dog owner and have no interest in teaching your dog TO DO anything, you just want him to STOP doing all those bad and irritating things. I'm obviously biased since I believe it is not only possible to never use owner-delivered punishment but desirable and more effective in all situations to not use owner-delivered punishment.
Definition: for the purposes of this discussion, punishment is something the owner directly applies to the dog in an attempt to get the dog to stop doing THAT forever. Not environmentally-applied punishment, and not no-reward markers, which are intended to suggest the dog try a different behavior but feel free to continue to perform that behavior again in future (as, for example, you're working on sit and the dog offers a down. You say uh-oh to indicate that wasn't what you wanted; but certainly at times in the future you will want the dog to offer a down).
Disclaimer: my "Probable results" are compiled from my own experience in using these methods pooled with stories many people have shared with me. Your experience may differ, if so let's hear it.
So let's start with two common "bad" dog behavors: jumping up on people in greeting, and stealing food off the counters.
Punishment approach to stop-jumping: puppy jumps up, you give a stern NO and knee puppy in chest. Or step on his toes. Or step on the leash so he gets his neck jerked. All commonly proposed punishment-based solutions to this irritating behavior.
Probable result#1: after much training your puppy no longer jumps up on YOU. He, however, continues to jump up on visitors, strangers, and your elderly mother. You consult a trainer, who suggests you put a prong collar on the dog and give him a good hard correction whenever he jumps up on other people. So you do. Pretty soon you have a dog who is full-blown leash reactive and barks and snarls and lunges whenever strangers approach him. And continues to jump up on people when he knows hes' safe (i.e. not on leash).
Probable result#2: after much training your puppy no longer jumps up on YOU. He, however, continues to jump up on visitors, strangers, and your elderly mother. You spend the rest of his life yelling at him for doing so.
Non-punishment-based approach to stop-jumping: puppy jumps up, you "withdraw" attention, the second puppy feet hit the ground you praise and shower puppy with attention.
Probable result: puppy quickly stops jumping up on YOU. He, however, continues to jump up on visitors, strangers, and your elderly mother. You consult a trainer, who suggests you place the puppy in a sit, instruct the stranger to only pet the puppy if the puppy remains sitting, and after much training you have a dog who now sits politely to greet everyone.
Punishment-based approach to stealing food off counter: you see puppy counter-surfing so you give a stern "NO".
Probable result: puppy only steals food when you aren't looking.
No punishment based approach: you engage in a pro-active training process where you reward the puppy for not stealing food, combined with not letting the puppy have access to tempting food on the counter when you aren't around to train.
Probable result: puppy doesn't steal food. If you forget and leave food out and the puppy does steal it when you aren't looking, you can add in an environmentally-delivered punishment (booby trap) into your training program. Probable result: puppy doesn't steal food whether you are present or not.