The problem I see with direct action (both peaceful and aggressive) is that it can be only done when people can gather freely or all agree on doing the same; but for societies like the one we (are forced to) live in, we have common concerns on which we don't have the same views, and it's usually the greater collective who wins the match. If I protest peacefully, I'm likely to receive little or no attention. If my group and I manage to act and do any harm to X, anyone else is likely to repair what we have just done if they or the people who hired them find it harming for their own interests.
I could send a letter to my congressman, I could demonstrate peacefully, I could riot, I could even kill for a fair cause. But for what it's worth when what I do is going to be ignored or fixed?