I think there is a difference between discipline and punishment. If you use effective discipline, you shouldn't need to punish.
I also think that people are confusing not punishing with not disciplining. My children (19 and 16) would be the first to tell you that I am the furthest thing from a liberal parent. From a very early age I employed copious use of the word "no". I don't think that is punishment, that is discipline. I told them in an age appropriate way the standards of behaviour I expected. They were not allowed to run around, shriek, and generally annoy other people in public. If they did, they were removed from the situation. Again, I don't see that as punishment, it is discipline.
If, as toddlers, they wanted to do something that I didn't want them to (pulling books off the bookshelf, drawing on the walls, running away, poking the dog) they were told off there and then. I can count on two fingers the times either of them were smacked.
As they got older, the behaviour expectations were in place. Again, I had no need to punish because I expected, and mostly got, good behaviour. They are not angels, but I have only ever had to remove things from the older one twice and that was for lying.
One thing I have never done is delayed consequences. I have never said "wait till your father gets home" or "if you do x, y will happen at some point in the future". Discipline needs to be immediate, accepted and moved on from.
I'm far from a perfect parent, but looking at the pleasant young adults I have managed to produce, I'm inclined to think I got something right with regards to discipline.