For one thing, a pardon makes the president personally accountable for the outcome. It quite literally takes place as a result of Trump’s personal signature. What’s more, pardoning Flynn does not really clear him of wrongdoing but, rather, overrules the judgment of his guilt by presidential fiat; the power of clemency, as Alexander Hamilton described it, is designed to serve as a granting of “exceptions” to the law, not a shaping of the law itself. As such, it does not validate any of Trump’s conspiracy theories about the Russia investigation: that the FBI was out to get Flynn from the beginning, that Flynn was railroaded as part of a “deep state” plot to bring down Trump. A pardon merely relieves Flynn of the consequences of his criminality.
By contrast, the Justice Department’s move to drop the prosecution—despite the legal mess it has created in the short term—has certain advantages. For one thing, the president’s hands are not on the matter. He can claim, perhaps even truthfully, that he left the whole thing to Barr, and that dropping the case was Barr’s call based on the supposed outrageousness of the investigation that led to it. Leave aside, for a moment, that anyone who has read any of the president’s tweets or listened to any of his rally speeches has heard him calling for this action. This is not merely a king’s plaintive pining for someone to rid him of a meddlesome priest. This is a king giving speech after speech and tweeting multiple times a day that the priest needs to be killed—and just in case that isn’t clear enough, emphasizing in each speech that by killed he means “dead.” But, that said, it’s perfectly possible that Trump never had a conversation with Barr in which he told him specifically how he wanted the case handled. Barr may well be able to say, quite honestly, that he’s never discussed the matter with the president—that this was his decision, not Trump’s.
In other words, doing it this way makes the outcome a product of the criminal-justice system, not an overruling of it.