1. Infectious - their numbers increase with every victim. Even the wounded are potential zombies. This also means that zombies always have quantitative superiority.
2. Undead - things that would kill or disable a human being would hardly even slow down a zombie. Hitting a zombie with a flame thrower just gives you a flaming zombie. The only things that work are massive head trauma and dismemberment.
3. Persistence - they don't stop attacking day or night. They never rest. They never run away. You can't reason or negotiate with them.
4. Morale - Zombies - ick! Dead friends attacking you - eek! Also, a fear of infection. Having to kill your own wounded with a head shot to prevent more zombies would be a big morale hit, too.
That said, the solution is actually pretty easy - armored vehicles, especially bulldozers. The zombies can't hurt the AFV, and it can grind ‘em up wholesale. The only limitation is the amount of petrol and diesel available to keep them running.
Of course, no one has yet discussed the moral implications of “killing” zombies, should a zombie attack be imminent.
For a handy primer, see Jimmy Akins “Theology of the Living Dead”: