Sometimes it feels like a battle in Advance Wars: Days of Ruin is decided by the first five turn of battle, and then goes on to take another twenty rounds for the inevitable conclusion to be confirmed. All of your moves early in a battle are incredibly important in order to avoid being crushed, but late in a battle you can be very sloppy and still win. Sometimes, the complete impossibility of an opponent's comeback makes the endgame tedious and boring.
One thing that I think is a major factor of this problem is the discrepancy between the winning objectives and the actual way the game is played. At its core, Advance Wars is a game about capturing cities and controlling territory. The most important moves in the game are the early choices of units to build and how to position them so that you can hold more cities than your opponent as quickly as possible. Once you have more cities than your opponent, all you need to do is hold on to those cities long enough for the difference in income to create a sizable advantage in military power. If an opponent does not break your control over the most important map positions (usually the center of a symmetrical map) in a a very early attempt, then that opponent has very little chance of winning. However, the victory conditions that govern when the battle is actually over require either total destruction of all enemy units, or the capture of the enemy HQ (and since Sami is not a CO in this game, the two requirements are pretty much one and the same). This requirement is completely independent of the major variables that control the flow of the game such as relative number of captured bases, relative number and value of active units, and the remaining funds for both sides.
I guess a better way of describing the discrepancy is that there is a huge difference in time between the point in which side has no hope of victory and when the battle is determined to be over by the rules. This discrepancy can lead to large amounts of wasted time for the player, especially when the enemy does everything in its power in order to be annoying and draw out the battle longer (such as do nothing but build anti-air units when you can only attack with air units). In battles between two human players this is not necessarily an issue because one player can resign when the game becomes hopeless, but this will be a concern in battles against the game's AI. Something needs to be changed in either the winning conditions themselves, or the game's AI.
Changing the winning conditions themselves can be problematic. Slight changes to winning conditions can have severe, and potentially bad, changes on game strategy. For example, using "defeat 100 enemy units" as a winning condition in Advance Wars would mean that it is always much better to use fewer expensive units like War Tanks rather than cheap units like Recon units whenever possible, which artificially distorts the balance of the game. I suppose there are a few alternative victory conditions that are more closely linked to gameplay than the current ones, like "destroy all enemy infantry and capture or place unit on every enemy factory" (a strategy I find myself using to subdue very stubborn enemies), but this example victory condition is a bit too complex and not very different from the existing ones (though it places more emphasis on the truly important factories than the artificially important headquarters, which is an improvement).
Another possible solution is to adjust the AI. In particular, it would not be a bad idea to implement a way for the AI to judge if it has a reasonable chance of winning or not and give the AI the choice of resigning and sparing the player the trouble of wiping it out completely, as if the AI were a human opponent. I think this is the best solution from a design standpoint, though given possible AI programming difficulties (which may be significant, but I am no programmer so I really can't say) it may not be a practical idea.
No matter what is done, it is important that the winning conditions of a game lean more towards a too-long game than a too-short game, in my opinion. It is best not to over-correct when trying to avoid a drawn-out end. After all, a large part of the fun in Advance Wars is fighting messy battles between two sides fighting desperately over cities, each side using a variety of units. If you make the victory conditions or enemy AI too forgiving, then the battle may be cut short while it is still fun and exciting. In a multiplayer game, making victory conditions too easy to achieve may result in one side being essentially cheated of a situation in which the losing player felt like a come-back was possible. I would much rather drag out a fight than be handed a victory when it was just getting good.