I agree that using the word "NO" is a generalized word for a negative behavior and should be used very sparingly. I replace the word with an absolute message or a word designed to stop, redirect or direct the dogs to a certian response. For example: touching an item that the dog should never touch is "Leave it". Approaching or taking something (object, toy or food) without your permission is "Wait". If a dog jumps on guests you can command a "Down" or "Platz". The only time I use the NO word is when he does the command but not exactly to my satisfaction. At which point the timing has to be exact. Some commands need to be Pro-Active. For example: before going outdoors, I give the command "Sit" (at the door) then "Wait" and after I step out "OK". The bottom line is to help the dog to learn certain words that have a specific meaning or task. Once you are certain the dog understands the word, it is fair for you to expect a positive response from your command. How you go about reinforcing the behavior is another subject.
RoJo & Rick