SubtitleEdit is one of the most complete and has many online tutorials from users.
Make sure they are recent tutorials because they will probably mention how to use the automated generation tools/plugins that wasn't available years ago.
https://github.com/McCloudS/subgen worked very well for me. I had a TV series where somehow the last few seasons timestamps did not match up with subtitle files I could find online. I used subgen and it worked surprisingly well.