Seems to me like the big argument for fighting is that it stops the dirty players from being dirty and taking "runs" at your guys. For the moment I'm willing to overlook the fact that fighting has been around forever, and so have dirty players, and as of yet the former has yet to deter the latter. My biggest concern here is rather that the majority of fights don't have anything to do with dirty plays. If you exclude opening faceoff (Tootoo) fights, and fights that occur because of LEGAL (yet still hard) hits, and fights between enforcers who aren't involved in any dirty play (Orr vs. Parros), and fights that break out because other fights are going on (Miller vs. Bernier), or enforcer rematches, then you're left with very few fights where guys are policing dirty play.
As Red Wings fans, we don't see a lot of fights. We also all remember Lemieux on Draper, or Weber on Zetterberg, and those things leave a bad taste in our mouths. So it's just natural to assume that things like this are the primary cause of fights. But the sad fact is that most fights have nothing to do with policing the game. There's nothing that noble going on most of the time.
Fights happen because they always have, and for the time being they are still looked upon favorably by too many sad, old, apes who can't stop romanticizing the past.