If a stat was the only thing determining dodge then the game should have been a turn based rpg. I have no problems with there being a passive dodge stat as long as there's active dodge in a real time game.
Even in real-time RPGs, many animations are abstractions of what's happening behind the scenes. And Diablo 3 doesn't have an active dodge, unless you count invulnerability skills.
What does it matter? Projectiles are projectiles. The arrows move so slow that it suggests I can sidestep them.
For game balance reasons, as I'm sure you're well aware. The arrows move at a speed which allows them to be avoided by an already-moving target, not sidestepped by a previously-stationary target.
Obviously it's not polished or else the animations would accurately reflect what's going on behind the scenes. The hitboxes aren't just faulty, they're non-existent at least for melee combat and it seems for ranged as well.
So you're redefining "polish" to mean "works the way I want it to work". And there's a difference between a faulty hitbox and a non-existent hitbox:
Regular melee: Range check prior to animation; no hitbox used.
Fast ranged: Check to see if target is stationary prior to animation; if yes, no hitbox used.
All other attacks: Hitbox used and works properly, unless there's lag. Includes melee attacks with a wind-up, ranged spells, and arrows/spears used against already-moving targets.