Two formats that are nearly the same file
SubRip and WebVTT describe subtitles almost identically: a number, a start and end time, and the words to show. The differences are cosmetic — WebVTT opens with a WEBVTT line and separates seconds from milliseconds with a full stop where SubRip uses a comma. That is genuinely most of it, which is why converting between them is lossless in one direction and nearly lossless in the other.
When you need which
Use SRT for desktop players, for uploading to most video platforms, and for anything going into an editing timeline. Use VTT when the subtitles are going onto a web page, because the HTML5 <track> element only accepts WebVTT — an SRT file wired into a web player simply will not display.
Fixing subtitles that are out of sync
There are two kinds of sync problem and only one of them is fixable here. If the subtitles are consistently a couple of seconds early or late for the whole video, a constant shift corrects it exactly — that is what the shift field does. If instead they start correct and drift further out as the video plays, the file was timed against a different frame rate, and no single offset will line it up; you need a tool that rescales the timings rather than moving them.