There are many methods of training a dog and some are a mixture of others. It seems however, that they all promise to create a dog for you that can do no wrong, that will comply to your commands/requests instantly each and every time. But is it really possible? can you turn a dog into a robot? can you make a dog that is better then all humans?
Nature is more powerful then any dog training method. Emotions are more powerful then any method also. There isn't always a training or behavior solution for every dog problem. Each time a dog does something, cued or not, it's slightly different then the last time she did it, or the next time she will do it. Nothing in this universe is ever an exact duplicate of another, not even actions, even if the only difference is time or space.
If you could train a dog to 100% reliability, there would be no need for sports and competition because there would be no way to win against other dogs trained to 100% reliability. It doesn't matter what method you are using - clickers, toys, play, shock or choking - creating a robot dog out of flesh and blood and emotions cannot be done.
And yet, people still look for magic wands. We have created a culture where everything has to be done now. "Make your child a genius, just put these ear phones on your stomach", "lose 16 dress sizes with this diet in 5 weeks" and other strange advertisement trying to part lazy people from their hard earned cash.
Think before you expect something of your dog that even you aren’t capable of. Acting perfectly all the time is a pipe dream for dogs or any other species. Get out there and do the work necessary for getting the best dog possible but at the same time remember that we all have bad hair days.