A Firebat uses a flamethrower in short bursts. This gives them short range, and their attack being 'concussive' means it doesn't damage large units worth beans (one-quarter rate). Why does this unit exist? Splash damage. Against packed groups, firebats work wonders. Thus, they are a weapon of choice against hordes of zerg, especially zerglings.

In the late game, Firebats cease to be as useful as Marines, largely due to the advent and probable dominance of air units, which the firebat cannot touch. Also, late-game zerg strategy may involve Ultralisks taking on old Zergling responsibilities - Ultralisks are too big to let the splash damage multiply, and are too big for concussive damage to take much effect.

However, a Firebat can be at least modestly useful even so. Put a defensive matrix on it and have it stand in a chokepoint. That will give your siege tanks plenty of time to chew the ultralisk up from further back. And if your defensive matrix wears off, the splash damage from the siege tanks will be at half strength (the main reason not to use a Goliath for this purpose).

I do not use Firebats heavily, but against the possibility of either a zergling or zealot rush, I will stow one firebat in each bunker, just in case. Others have used them to take out entire zerg bases, unsupported. That buildings take 1/4 damage from the firebats' concussive attacks was only a real impediment against the initial glut of sunken colonies, which are easily overwhelmed by infantry rushes anyway. After that, mopping up is easy because the firebats can kill eggs before they hatch, preventing the construction of reinforcements.

Also, Firebats are one of the two Terran units capable of firing into a dark swarm. If you suspect that your zerg opponent likes to get clever, this is one reason to keep them even into the late game.

Figures taken from http://www.battle.net/scc/GS/, independently verified by me. Interpretive text is original.