The circumstance where non-violent behavior works is very specific and is best when there's:
A) much stronger opponent (British Empire, Chinese government)
B) level of civilization where both parties do not want to engage in violence (the majority of modern civilizations)
C) good chance for massive unrest if violence were to happen (no ruler wants to deal with domestic terrorism and internal squabbles, unless of course your regime is breaking up already and that's the only way to keep control)
The more primal the opponent, the worse are your chances. Aztecs would have welcomed non-violent behavior with open hands, they would have cheerfully enslaved people who didn't put up a fight. The reason why they stopped was basically the destruction of their civilization by the Spaniards. But maybe I'm mixing here war with protesting, which is a more of problem after you have lost and are under the oppressive regime. Then your options are limited: it's either violent insurgency or non-violent protesting. In modern world luckily we have electronic mass-media that helps immensely with the non-violence.
[1] https://www.forbes.com/sites/alexknapp/2014/07/24/the-proven...