For example, I'm proposing a fraud detection system of my own design to address tricky issues in our product. Higher-ups want to purchase an existing system from a third party, which means I don't get to work on my pet project. They ask me for my input. At this point, my primary interest is in exposing all the flaws in their proposed system which render it unfit for purpose. I'll probably acknowledge some strengths just to make my argument more tolerable to them, but my goal is to persuade them to take my preferred course of action.
Likewise, if I rant about Java, it's probably because I would like to take some of the "mindshare" Java enjoys and move it to my favored language(s).
There are probably other reasons to want to damage something through criticism, but that's how I find myself employing it.