Having 5 labs and having done a little training, this is a topic that I feel I can contribute toward. I definitely think shock collars have their place, but I think it also depends on the dog. Like humans, some dogs are more sensitive to punishment and scolding. One lab I've never shocked...a few words to let her know I'm displeased is enough to reverse any habit she's had. Another one is still getting shocked at 4 years old, and it's working SLOWLY but surely. I'd adjust the punishment according to the dog's nature, not just according to what I want to get them to do.
Greg is right- shock collar is immediate correction, whereas scolding after the fact is not as effective. That being said, the dog needs to know why he/she is being shocked so they know what behavior to correct.
Ed- IIRC, shock collar are like anything else--there are many varieties in a bigger price range that I could have imagined. Depending on how fancy you want to get, you can get reliable ones at reasonable prices.