In vanilla, cannons are at least good for attacking settlements. In AODII, cannons are useless for both attack and defense. With a base strength of only 3 and no defense bonuses from fortress, makes the cannon even worse than a soldier (soldier gets terrain and fortress bonuses). The only use for cannons is to shoot at ships from a fortress, but even this is a pointless ability as sinking a few ships will not help you win the independence war. Why then should anybody build cannons?