Was watching a movie with a group of friends which someone had ... acquired from the internet, but it didn't have any subtitles. Someone found an SRT file, but the subtitles were offset by quite a bit - enough that you would be seeing dialogue in the subtitles for what had been onscreen 10+ seconds ago, which kind of defeated the point of getting the subtitles. So I wrote a program in a few minutes to specify an offset and rewrite all of the timestamps in the file. We timed the offset, ran the script and got to watch the movie with working subtitles less than 20 minutes later.
Even more so, the subtitle offset can be set as needed with two key shortcuts - SHIFT+H when the sentence you want to sync to is said, SHIFT+J when the sentence shows up in subtitles and SHIFT+K to confirm the sync. (source at https://wiki.videolan.org/VLC_HowTo/Adjust_subtitle_delay/ )
I've used Subshifter website occasionally for years to do that. There are others I guess. Subshifter can do constant difference as well as stretching, where the subtitles are at the wrong frame rate. You find and enter in the times where subs should be, at one spot near the beginning and one near the end. It does its job well.
It's nice when people share their cool tools free online like this. :-)
It used to be a regular thing for me since I already have subtitles on (ESL spouse). The worst is when you have a time shift and a different frame rate, as it'll slowly get worse over time, but seem ok for the first few minutes.
Recently, Plex's "agents" seem to be good enough at figuring it out and auto-downloading subtitles that it's not often a problem.
Was watching a movie with a group of friends which someone had ... acquired from the internet, but it didn't have any subtitles. Someone found an SRT file, but the subtitles were offset by quite a bit - enough that you would be seeing dialogue in the subtitles for what had been onscreen 10+ seconds ago, which kind of defeated the point of getting the subtitles. So I wrote a program in a few minutes to specify an offset and rewrite all of the timestamps in the file. We timed the offset, ran the script and got to watch the movie with working subtitles less than 20 minutes later.