grepは 'g'lobal 'r'egular 'e'xpression 'p'rint つまり、全体から正規表現で一致したものを抽出するためのコマンドです。egrepは 'e'xtended grep つまりgrepの機能拡張版です。拡張正規表現とよばれる式が使用できるため、grepと比較して高度な抽出が可能になります。とはいえ、grepに'-E'オプションを付与して実行するとegrepとほぼ同じコマンドとなり、grepでも拡張正規表現の使用は可能です。
abc
ABC
123
$ grep '^1' sample.txt
123
$ grep '^(1|a)' sample.txt # 結果なし
$ grep -E '^(1|a)' sample.txt
abc
123
$ egrep '^(1|a)' sample.txt
abc
123
$ grep -Ei '^(1|a)' sample.txt # '-i' 大文字小文字を区別しない
abc
ABC
123