So for live stuff, I get that someone is literally typing it out, and that explains the delay. But for reruns, why is there often still a delay? Can't they sync it up so the words on the screen appear when they're actually spoken? And wouldn't that take like almost no effort at all?
For a lot of shows, sometimes they aggressively paraphrase or even skip entire lines. Shifting the captions up 2 seconds won't make them much more coherent.