Often there are many different video sources with different timing (synchronisation). If sync is not right, sometimes it's enough to change the frame rate, but with your video file, apparently that's not the case or it is just not enough. Then you need to use subtitling software and adjust the sync.
Sometimes it's just a matter of (additionally) shifting time forward or backwards. Sometimes you need to do a socalled point sync (have two correct sync points at the beginning and the end and have the subtitling software automatically adjust all lines). Sometimes you need more points, because of differences between HDTV and WEB-DL or BluRay versions. In the worst case your source subtitle is just no good and you would need to fix it line by line.