They happen when the packets from the other player have been received. If they haven’t been received, the game will continue to run on prediction alone. Most games have a timeout on that so that when packets aren’t arriving the mach is frozen or dropped (necessary because you can only store so many rollback frames). The second measure is against wrongly processing inputs and is a checksum, ie routinely comparing the last confirmed state of your match with your opponent’s. if they don’t match everything is dropped (once the games have diverged further than the rollback window you can’t really bring them back in line short of replaying everything from the beginning). So it all depends on what was bugging in that KI match.
If the checksum wasn’t working then yes, we were looking at buggy remote input processing. If it was, then the timeout was buggy and we were looking at games running entirely on predictions, ie shadows (because if they weren’t shadows they’d have stopped attacking as soon as synchronization was lost).
That’s the thing though ,the original GGPO article by Tony Cannon does mention the possibility of a more complex, play-specific prediction system (ie shadows) as the best way to minimize teleports. It makes sense that it would be the explored direction for anyone he’d have advised.
Regarding delay, the thing with rollbacks is you can really set it to whatever you want. It effectively decouples the experienced delay from the actual delay, which is why GGPO and Skullgirls plain give you the option of setting it to your liking, depending on whether input delay or teleports are more your thing. So in that sense, it’s easy for Capcom to set the bar lower, the question is whether they can do it without teleports, in which case better prediction is the only mean.
Note that rollback doesn’t affect the actual connection delay. In that, it’s a bit of a sleight of hand: if the connection with your opponent has a delay of 4f, then the information will arrive 4 frames late no matter your model. In an input delay model you’ll see it starting 4 frames later, in a 0f delay, pure rollback model you’ll see it 4 frames later but already 4 frames into the move, in a 3f delay with rollback (like KI) you’ll see it 4 frames later, 1 frame into the move and thus a move starting 3 frames later.
So the thing is, no matter the model you’re using, you can’t react any faster, because the information is always arriving too late (again, unless the prediction is a shadow and correctly guesses the opponent’s action). But what’s great with rollbacks is you, the local player, don’t have to suffer as much lag for your own character, so it feels a lot better to handle.