I also noticed, while in battle, that a unit with 0 in the attribute Dodge, had successfully dodged all attacks from all sources, spells, bow attack, mauls, backswings and sword slashes. This has happened more often than casual, enough for me to notice. NOTE: I don't know how attack variables are calculated, but seems logical that a high-accuracy unit would almost hit every time a unit with 0 Dodge. Especially when this particular unit has a lesser level than the attacker.
The percent chance to hit with any given attack is
min(97, max((Attacker Accuracy) - (Defender Dodge), 3))
so a unit with 70 accuracy should successfully hit a 0-dodge target 7 out of 10 attacks, on average. However, it's a probabilistic function, so there's a slim chance that you could have a unit with zero dodge that dodges 100 attacks in succession, and you could have a unit with 100 dodge which never dodges anything. Note that there are certain items which increase dodge chances against ranged attacks only; these items increase the base dodge value by the amount listed in the item tooltip for hitchance calculations by ranged attacks. Note that spell resistance and spell mastery have the same type of interaction with one another as accuracy and dodge do.
Units with multiple attacks (which are most standard troops; their attack tooltip will list something like X-Y damage x # of figures in the unit during battle) appear to roll for hits until they fail, so with a 70 accuracy unit facing a 0 dodge target, you have a 70% chance of at least one hit, a 49% chance of at least two hits, a 34.3% chance of at least 3 hits, and so on. Please be aware that this portion could be incorrect; this is a feeling that I have on how the multiple attack system works, not anything that I can really back up right now. However, the other obvious alternative (3 independent attack rolls) is almost certainly incorrect, as at a 70% chance to hit that would result in an effective hit rate of 97.3% for at least X-Y damage, where X-Y is the damage range of the attacking unit.
Attack maximum damage is calculated as
(Defender Blunt Resistance as a decimal)*(Attacker Attack)*(Attacker Attack)/((Attacker Attack) + (Defender Defense)*(1 - Attacker Armor Penetration as a decimal))
for mundane attacks. The only units I can think of off the top of my head that have Blunt Resistance are the Banshee monsters and the Undead race female (Spirit) units. For magic damage (fire, lightning, cold, poison), the maximum damage is simply (attack value)*(100 - appropriate resistance)/100. In the absence of specific mechanics defining the minimum damage (e.g. a spell that does 5 to 15 damage), the minimum damage that an attack can deal is one-half of the maximum, and the actual damage dealt is a random number between the minimum and the maximum value.
Also be aware that there is a chance for any attack to score a 'blocked' or 'chink' hit. I don't the know causes of these or their chances of occurring, but 'blocked' hits deal no damage whatsoever, and 'chink' hits deal exactly one damage regardless of the nominal damage range. These hit types appear to be related to the defending unit's defense score (or, at any rate, I've never seen them occur on a unit with zero defense), but I cannot say much aside from that about them.