Def-Bombs and Zone-of-Control are 2 different mechanics.
DB happens when a stack containing a bombard-capable unit gets attacked, provided that the bombarding unit (1) has not already fired a DB during that interturn, and (2) is not the unit being attacked. IIRC the DB-unit's B-value is compared with the attacking unit's A-value, using the usual combat-success RNG dice-roll: if the DB hits, the attacker loses 1 HP before it engages its actual target.
ZoC-shots happen when any unit passes by a unit with the ZoC ability-flag, and again, can remove 1 HP per successful shot. As with the CF, the ZoC-shot can/will only be fired if an enemy unit passes from one of the 8 adjacent tiles to another of those 8 tiles, and it will not always hit (unfortunately, I can't remember which unit-values are compared to determine a successful ZoC hit).
In the unmodded game, only a few units have the ZoC-flag by default, e.g. Cavalry, Tanks, (+ UUs), Modern Armor, and Armies (and possibly some others). IIRC, a Fortress tile-improvement also confers the ZoC-ability to
any unit fortified(?) inside it, even if that unit would not normally have that ability.
But unlike DB, the same unit can make multiple ZoC-shots per interturn. I believe it was
@SirPleb who used this ability to develop his 'Funnel of Doom' tactic.