I am not saying two cannon units at 2k isn't useful - the ability to pick off some chaos knight stands and murder infantry blocks is worthwhile.
What I am saying is that against light horse or flyers, a canny enemy will pick off those cannon... even if you do substantially escort them. Any every unit/point you spend on shooting, or escorts is an unit and points not spent on the main battle line - where the game will be decided.
A large battleline makes it harder for the enemy to flank you, and may mean you can actually overlap his. Getting a full infantry brigade of dwarves into a flank of a battleline puts you a long ways towards victory.

Not to mention the break point - two units of thunders and two cannon units are much easier to kill than three warrior units. In a typical 2k game, killing the gunline means the enemy merely needs to kill one or two warrior/ranger units.
Pure warrior/rangers means at best the enemy can trade a knight unit for a warrior unit. Moving quickly with a command 10 general a dwarf army has a decent chance to plow through enough enemy infantry to win.
A gunline also ties you down - pure warriors can go offensive or defensive at will and stay together. A gunline risks defeat in detail if you go offensive.
A defensive position might win a game against an enemy who cooperates; but in a campaign game or tournament you need to win, not play for a tie.