This word is way overused today, not only with dogs, but with virtually all animals and children.  The command isn’t bad, just overused.  I recommend that when you need immediate adherence to a command train for the word “STOP”.  Often animals become a bit desensitized to the command “NO” so reserve the “STOP” command for times that are critical.  For example, when the pup is moving from a “STAY” command “NO” is appropriate, however when the dog is entering the road when a vehicle is coming “STOP” is more appropriate.  Over time “NO” becomes part of the conversation with the dog and it stops and thinks about what it shouldn’t be doing where “STOP” should communicate to the dog to IMMEDIATELY CEASE what you’re doing!