As a splash damage tower, Cannon towers are effective at taking out large clumps of monsters. As a result, unlike their longer range brethren, they should not be swamped with high numbers of low-value monsters.
High health, low individual count monsters should be used as a frontal assault against them to minimise the damage that would usually be done to large groups. If possible, high damage monsters should be flung behind the area under fire by the tower where they can whittle down its health in relative safety. Also the Cannon Tower's damage is multiplied by the amount pf monsters it is hitting.
Another strategy is to send in an individual high hp monster like the Crabatron from one direction to draw tower aggro, then send in waves of Pokey from the other direction so that the splash damage from the Cannon won't hit the pokeys.
If a monster is behind something like another tower or a silo, that can actually block the monster from getting shot by the cannon tower. Plan carefully.
Due to their splash damage properties, the damage Cannon Towers should be maximized by funneling attacking monsters into groups. This can be done with excellent use of blocks to form walls and mazes to force attackers to path into the relatively short range of the tower. Another more unorthodox method is to use another tower as bait; attacking monsters will clump around the tower and after it is downed, the monsters are already ripe for Cannon Towers and booby traps.
Due to its low range, Cannon Towers are poor at providing cover for towers. Pairing them with Sniper Towers is an effective strategy; while the Cannon Towers deal with the large crowds of monsters, Sniper Towers pick off the high-health monsters that would otherwise give the Cannon Tower trouble.
Note: since the cannon tower is lower than some towers (tesla, sniper) it can actually be so well hidden behind a hatchery that even the owner of the yard can't upgrade it.