SUBSTRING:
A substring is a contigiuous sequence of characters with a string but it should be contiguous. An empty string is also a substring of any string.
Ex: Let the given string be: "coding"
{"c","o","co","din","oding","codi"}
Note : "cd","coin","codg" are not its substrings because they are not contiguous.
SUBSEQUENCE:
A subsequence of a string is a new string which is formed from the original string by deleting some(can be none) of the characters without disturbing the relative positions of the remaining characters. It does not require to be contiguous but the order of the characters should not be changed.
EX: Let the given string be: "coding"
{"c","o","cd","cin","cding","cig"}
Note: "dc","cogn","oni" are not its subsequences because the order of characters is not same.