There're a lot of time we get subtitle that unsync with the video that we got. And/or you're may edited the video that make the subtitle doesnt sync. To fix it, what this video show may can be use...
Open the subtitle with Subtitle Edit or just drag it into it; It's better if you rename the subtitle as the video name or load the video if it's got a different name.
Find the exact timecode that subtitle should appearded. To search it, run the video review then pause it when you heard the sentences that subtitle should appeard at. Since we pause it after heard the sentences, move back the video review 0.500 second by pressing "the botton" (see it on the video). Chang the "0.500" if needed.
Clik on the line that should appeard, go to 'Adjust' then press 'Set start and off-set the rest'; The line will move to timecode on video review and the rest will followed it.
If it's not really work and subtitle still not in a good timing. Open 'Adjust All times (Show earlier/later...)'. Fill the timecode with the exact time that you want to move the subtitle then check the 'Selected line(s) and forward'. Then press 'Show earlier' or 'Show later' until the subtitle perfectly fit with the video, but make sure the first line that unsync was selected.
Actually there're several reason why subtitle unsync. This method can be used for subtitle that has different start time or subtitle that unsync due some video edited or some things. And the other thing, i realize that my english not even good but hopefully you're got what i mean. :)