In Witcher 3 there are no I Frames. The only way to dodge is to ensure that your body isn't physically touched by the enemy. Just pressing dodge at the right moment won't prevent you from getting hit. Distance matters. That alone adds more depth and challenge.
This is not true tho, there are i-frames on both dodge and roll, just turn on your combat log, it will tell you that "Geralt took 0 damage" and no hit effects will be applied, or pit yourself against the wall and just backstep the attacks of a drowner, attacks will pass right through you. But a wide array of moves simply ignores i-frames (almost anything from Griffin type enemies) and it's not really obvious which moves can be i-framed and which can't.
If this wasn't quirky enough already... there is also "Fleet Footed" which does work as advertised, but again... not quite like the average gamer might expect. It does reduce dmg to 0 (5/5 points spent), if you get hit during any evasive move after the normal i-frames expired, but does not negate the hit effect (easiest to verify with a forward "dodge" as this one has no i-frames). You will still get staggered, pushed back, Quen will break etc.
There's still more... you can dodge right after an attack, or after you took dmg, but those dodges have no i-frames what so ever (even though they look exactly the same) and "Fleet Footed" does not work either, so basically no dodging possible, when you need it the most...
Overall it's a system that seems to work against player expectation as much as possible

and that's before we talked about the Hit-Boxes...