if you have 0 input delay, worst case latency is still 32ms, because your input might come in when back frame is ready, but blit hasn't happened yet: render frame A, input comes in, blit frame A, render frame B, blit frame B.
but your input delay is not 0, so your input might come in before frame A above, but frame A doesn't reflect input yet, which makes your worst case input latency 48ms: input comes in, blit ..., render frame A, blit frame A, render frame B, blit frame B.
there are also bad vsync implementations, that by virtue of being enabled, introduce further delay between state and graphics. or if fps drops under refresh rate, things go out of sync, and your vsync becomes a compounding effect.
finally vsync delay existing in addition to whatever other delays. a 30ms delay for whatever reasons, becomes an 80ms delay because vsync on top.