If the gun makes him cold, how does he use it?The Rogues are products of the Silver Age. In the Silver Age, every supervillain didn't have to be a raging murderer, out to kill everyone with whom they cross paths.
The Rogues were just blue collar criminals. They didn't necessarily want to hurt anybody. They just wanted to steal things and get away with them. They weren't trying to kill Flash in most of their battles back then. This is why they had their famous code against killing.
Thus? Look at the design of most of the Rogue's weapons. They are "area of denial" weapons, designed to blanket an area. Cold's freeze gun can quickly blanket an entire area. Heatwave's gun can spray fire all over a target area. Weather Wizard can turn the entire atmosphere into a weapon. Many of Trickster's tricks involve the use of multiple small objects, spread over a wide area.
Alone, none of these weapons are much of a threat to Flash. Their strength was in their teamwork. No, Cold can't hit Flash directly. But Heatwave can lay down a corridor of fire to funnel Flash into a predictable path so that Cold can lay down a wall of ice in his path. Keep in mind that extreme cold can slow Flash down. He can vibrate through it, sure. But it slows him down long enough for one of the other Rogue's to draw a bead on him. Fire still burns Flash. He can't just run through Heatwave's fire. He has to go around it. Lightning is still damnably fast, and even Flash can't dodge it perfectly.
The Rogues are at their most effective when they're back to their original format of working together. Not to kill Flash. Not to defeat him in battle. But just to slow him down or keep him away from them long enough for them to get away with their loot. Yeah, Cold looks ridiculous in modern times because modern writers try to make him into something he's not: a solo act who can inexplicably take on one of the most OP superheroes in the DCU despite his utter lack of powers.
And why does he wear a jacket? His gun generates a lot of cold. He's only human. He'd be wise to dress warmly.