This is how I think it works.
Time uses the freerunning millis() clock until the next NTP update.
Then it checks if millis and epoch are still in sync.
If not, it will correct that millis timer one or more seconds until they are in sync again.
That's not a problem for a digital readout, but it could be for the analogue clock.
See this thread.
Leo..