Parents should be allowed to spank their children. A simple slap across the wrists or on the hand could possibly save a child's life in certain situations. A slap on the wrists or a swat on the butt is something the child will remember far more than a "stern talking to" or a time out - time out was a joke for me as a kid. The next time the child goes to run across the street, or stick a fork in an outlet, he/she will be more prone to immediately flashing back to that slap than anything their parents might have simply said to them. Spanking is okay, but beating should be totally outlawed. If a bruise or a mark or welt is left, that crosses the line between a spanking and a beating.
A child will generally not repeat an activity if he or she is hit by the parent, but that does not really teach the child the reasoning behind the punishment. A punishment is meant to prevent behavior from occurring again, but that can be abused so many behaviors can become unacceptable. The child will not understand why he or she is being hit only that the parent finds it unacceptable for the child to do such activities. A child could be spanked for not wanting to participate in religion like his or her parents do. By spanking the child, the child would only understand that he or she has to participate in religion or else he or she will be punished. Having a stern talk could cause the child to see the reasoning for why the parent disagrees with the child's behavior rather than the child rely on the parent's judgement for issues. Hitting a child won't allow the child to understand the reasoning behind a "bad" behavior.