In my limited experience (2 kids) I believe there is a very narrow use for spanking (i'd never condone the use of a belt/paddle etc...). It should be used exclusively for outright defiance of young children (2-3 years old) whereby failure to adhere to the request could result in pain/damage to themselves, someone else or property. Immediately prior to spanking, the child has been asked to stop multiple times and told that failure to adhere will result in a spanking.
I'm pretty sure I only had to spank my son once. It was because he was hitting the dog. It went something like this:
Hit 1: Bud, stop hitting the dog
Hit 2: Stop hitting the dog buddy. Do you hear him growling? I don't want him to bite you.
Hit 3: Ok, if you hit him again I have to give you a spanking.
Hit 4: Pick son up and take him to another room. "I told you you'd get a spanking if you keep hitting the dog so now I have to do it. I really don't want to do this but I need you to listen because I don't want him to bite you." Then I gave him a slap on the butt and he cried and I gave him a hug. No more hitting the dog, OK?
It worked and I doubt any psychological harm was done. If timeouts or taking a toy away worked with my son that might have been a better option but it didn't and when they are that young sometimes that's all they understand. After that all I had to do was threaten it. Sometime later, we were at an outdoor party with a playhouse and he was pushing kids at the top of the slide. I told him to stop a few times, which he ignored, so I picked him up, walked away from the area and told him that what he was doing could hurt the kids because they might fall off the slide and that if he did it again I would have to give him a spanking. It worked.
Once they are old enough to reason, spanking should cease and discipline should take the form of taking things away, timeouts etc...and spanking should never be a hostile act, done out of anger. That sends the wrong message. It should be controlled, explained and rare.