The reason the NO command is often ineffective is because, for starters, it is not a command, since dogs cannot perform a NO! It does not have a specific action they can learn at positive times, which then can be applied to refocus them and/or teach them the expected behaviour. It does not allow them to learn and think for themselves as to their best option. it also relies on reactive training - you must wait around for your dog to misbehave (which often isn't long lol) and then react to this behaviour. This type of training is effective during puppyhood, but not with dogs over the age of 6 months as they often know they are doing the wrong thing, they just don't care!
I'm busy working on my blog posts. Watch this space!