Minecraft wiki entry for TNT_cannons, associated text: TNT cannons operate on the principle that when TNT explodes in water it will not destroy blocks, but will still launch entities, including TNT that was already ignited, which is usually done with redstone (the charge is usually ignited immediately, then after a delay the shot is released).
The shot is the ammunition; it can be a player, a mob, a piece of TNT, arrows, sand/gravel or anvils.
If raiding, make sure (unless you are using a hybrid TNT cannon) that the shot does not land in water.
The charge is an amount of TNT used to propel the shot.
The charge (if you are just playing or testing) should land (TNT will fall when activated) and explode in water, otherwise the explosion will destroy nearby scenery and damage nearby mobs.
To properly fire an active shot (and avoid destroying your cannon), you need to be sure that your charge activates before the shot is activated. Since the charge is housed in water it will not destroy your cannon, but the shot is not housed in water when activated, so it will destroy nearby blocks and injure nearby mobs.
Redstone is used to activate every charge TNT simultaneously with the exception of compressor charges, which are discussed in the appropriate section.