In a competitive setting, building an all-comers list I can't see any practical alternative to a cannon. It's such a great counter to big monsters and the like, so that suddenly a monster that you've just got no counter to starts to look a lot like free points. Even if there is no monster it can still give great value plinking chariots or war machines, and even if they aren't in the game then it can still do good service grinding down enemy units, and maybe even snipe a character.
But outside of all-comers lists there's a lot more scope for leaving out cannons. That's why I quite having a bit of list tailoring, it gives you scope to try out stuff you wouldn't normally do.