For the sake of simplicity, I'm going to compare a regular cannon, to a steam cannon.
A regular cannon uses explosion from gunpowder to push a cannon ball out from the barrel, and a steam cannon uses pressurized steam to push a cannon ball.
one of the main problems is that you will need to use pressurized steam, so you will need to have a tank to store the steam (that also serves as the heater), and a valve to control the flow of it to the barrel of the cannon. Using a regular cannon you just put the gunpowder at the back of the barrel, and that's that; no need for a tank to store steam, and a valve to control it.
another problem is that you will need way more steam than gunpowder (volume wise) to push a cannonball of the same size.
For use in the battlefield, a steam cannon will be very unwieldy; and dangerous to use.
Edit : Looking at the comments, I'm going to add a few more things.
A conventional cannon, has a fuse (optional); the propellant (gunpowder) a barrel, and the projectile (cannon ball). even with only 3 to 4 components; alot could go wrong. Imagine a steam cannon; there's the boiler (which by itself also has a few components of it's own), charcoal/coal to burn, the barrel, a valve to control when to release the steam, and finally the projectile.
When designing a weapon (or anything actually) it is best to keep it as simple as possible; to prevent anything from going wrong (anything that could go wrong WILL go wrong).
in the comments :
One advantage a steam cannon would have would be the size of the gas
reservoir could mean that the pressure fall could be much lower as the
projectile moved up the barrel
Well, it IS technically correct; but you have to keep in mind the amount of heat, and water you would need for it to work. It would be far more effective to just use gunpowder.
Regarding the power of Steam : Link
Converting BTUs into Joules : Link