I probably ought to post on this thread, as one of the vociferous antismackers, although I realise my contribution is just to be ripped apart and sneered at
Most of the disciplining in this house at the moment centres around ds1 (4.7). He is a feisty, highly-strung, difficult little boy (with huge charm and generally lovely manners). I have had to be a bit harder on him lately than previously, because he has been pushing the envelope. Current strategies include:
"angry hands" - when he starts to feel angry, I remind him to do "angry hands" to calm himself down, which he does (he clenches his fists and pushes them together, or flexes his fingers, while counting to ten). I have to remind him, but he does do it and he says it makes him feel better.
When he has tantrums (which he occasionally does) I generally remove him from the room he's in and put him on the sofa in the living room, where he can't hurt himself, and then go out and leave him until he's calmed down a bit. I leave the door open so he's not shut in, but he stays there rather than coming back out to scream - I think he wants to calm down. In fact we have talked about it before and he has told me that "when I feel angry I think the whole world shakes when I stamp my foot" and "Once I am cross and sad I don't know how to stop".
We also have a "calming down song" - just a short silly one - which we made up together, and if he is building up to a tantrum and getting agitated, I sometimes put my arms around him, quite firmly, and start singing it. He usually then will join in, albeit a bit grumpily, and it diverts the tantrum, so we can talk about what was bothering him. Sometimes he will take himself off into a corner and sing it himself, then come back and tell me "It worked, Mummy!"
Withdrawal of privileges - I hate doing this, but for the times he really is just being vile and talking/soothing isn't going to work, I do. Yesterday for example he sat down on the ground and refused to get up or take his own weight (he did that 'boneless' thing, grr!) so I told him that we would not be going to the playground. He was really upset - when we got home he was screaming and being rude, so I put him down gently on the sofa in the living room and left him there for a few minutes, then went in and said "Are you ready to stop this now and have a cuddle and a talk?". To which he said "yes" and apologised. We talked about it a lot that afternoon, about how HIS choices determined what happened, and if he made a different choice tomorrow, he would be able to to go to the playground then. He was delightful this morning and said "Today I am going to be a really good boy Mummy", and was really loving and happy.
For really awful behaviour, like sitting on his brother/snatching something from a nother child and making them cry/fibbing/throwing stuff (very rarely does he do these things, but he does do them - he's a little boy, not an angel!) I usually send him upstairs for a couple of minutes and then go up, tell him off quite sternly (he will apologise) and then talk to him a bit more gently about why he did it, what he should have done instead etc. If he's upset anoher child I ask him to apologise.
If we are out and he has a major tantrum, I pick him up and hold him quite tightly, talking calmly but firmly to him, until he calms down. Then we talk about why it happened, and he apologises. We might go straight home, depending on how bad the behaviour was (if he's hit out at me, for example).
I have done things like taking away his bedtime story a couple of times (don't like doing it), because of serious bad behaviour. The playground incident yesterday was about as bad as he gets, really.
It all sounds long-winded and a lot of talking, but it's not as time-consuming and blustering as it sounds!