I also agree that you have to be consistent. There are no empty commands at our house. We pick our battles, but when we tell Jacob to do something, we see that he does it promptly. Right now, he's 2, so we can physically make him do whatever we ask. At this age, usually the things he does "wrong" are going somewhere he shouldn't be or holding something he shouldn't have, so we move him or take away whatever he has. As he gets older, the kinds of behaviors we discipline for will start to change, and we'll start to use other forms of discipline as he starts to understand how the crime and punishment are related. Because DH was spanked incorrectly, we probably won't spank. DH isn't comfortable with it.
I think that the important thing is that your kids do what you say the first time you say it. Parents need to understand that the second they tell their children to do something, they've committed themselves to making sure that their children follow through. If they don't, it's the parents' responsibility to see that it happens or that the children are punished. There is no counting to 3 in our house.
I think the saddest thing I ever saw happened in the Target parking lot the other day. A little boy, about 3 or 4, was in the middle of the parking lot where he could be run over and his mom was on the side where it was safer. She just kept telling him over and over to get out of the street, but she didn't do anything about it. After she had begged him about 5 times, she said (in a tone of voice that implied that this would be horrendous if she ever did it), "I'm going to stop counting to 3 and make you do things the first time I ask." I hope she thinks about that sentence and actually decides to do it. I hate to think what the kid is going to get away with in the future if he runs around in the middle of the street today.