Nonviolent action has accomplished many things, it is just that nowdays the ruling class is mostly desensitized to protest. If you want to change society through nonviolent action, your action needs to convince others to support you. You need to convice the ruling class and all who help them to give in to your demands.
Modern day peaceful protests do nothing because they dont have any credibility. The rich rightfully believe that they can ignore you and nothing else will happen. Nonviolent protests are just one way to send a message