I think that consequences work better than punishment because of something plain and simple.
Consequences can change internal
behavior.
Punishment is likely to only change external
behavior.
I am speaking here on parenting specifically, but I am sure than this is part of a broader discussion.
Said different, it is one thing to change what a person does or does not do. It is another thing entirely to change their hearts.
Understand: Behavior change happens with long-term commitment – not short-term compliance.
We see punishment as the parent deliberately depriving a child for a set period of time or inflicting pain on him, in order to teach that child a lesson. Consequences, on the other hand, come about as a natural result of the child’s behavior.
-Adele Faber and Elaine Mazlish, How to Talk So Kids Will Listen & Listen So Kids Will Talk (Amazon)