Famous animal behaviourist Ian Dunbar says that punishing a dog for growling is like removing the ticker from a time bomb.
Dogs use growling as a way of letting you know that they are stressed or upset. If you punish a dog for growling, you run the risk that they will avoid the early warning procedure and go straight for a bite the next time that they are uncomfortable.
There is a world of difference between temporarily suppressing a behaviour, and changing the dog's underlying emotional state to produce long term behaviour change.
For example, if you were scared of snakes, and I punished you for screaming by shooting you in the leg, you'd probably force yourself to stop screaming. But have I changed the way you feel about snakes? Would you act rationally if a snake got up close and personal with you? Probably not! If anything, I may have made you feel even more afraid of snakes, as you now associate them with the pain I inflicted.
With your training, always think to yourself - is this a quick, short term solution, or will this benefit my dog and I in the long run?