My parents used to smack me when I was younger, and I really don't think it causes any harm. Having said that I'd hate to end up as one of those moms who are screaming at their kids in the supermarket and smacking them to make them shut up.

I guess a smack can work as a short, sharp shock, and would be more effective if it was reserved for when the kid's done / doing something very naughty, or where they could hurt themselves badly (running into the road / pulling on the cable of the iron...). Also, when the kid's very young then they're not going to properly understand why they shouldn't be doing X, Y or Z.

Once they're old enough to understand why you don't want them to do something I think it'd be better to explain to them, and if they're still naughty then use the time-out thing, because if they understand why they oughtn't be doing something, but still keep doing it it's probably going to be to get attention.

I guess you can't really make a teenager go stand in the corner though, so for that age punishment would have to be stopping them from doing something they want to if they've got into trouble, and rewarding them when they do what you want them to.