Subtitles are generally intended for people who are able to hear. Subtitles are most often used to display a different language than the one spoken in the video. Subtitles only include the words spoken.
Captions are intended to provide access to people who are unable to hear. Unlike subtitles, captions include the spoken word, sound effects, music description, punctuation, and identification of speakers.