These are all legacy *nix tools.
vi is a text editor, more common in Linux is vim (Vi IMproved). emacs is another editor; there are "religious" camps supporting either. Both can be very powerful; offering things like the application of regular expressions for text location, changes, filtering, etc.
Both also offer auto indent for programming, matching paren|brace|bracket and other programming-related features. emacs is LISP-based and permits the user (if they want to ) to write other operative modules for use in editing.
sed is "stream editor" - it can be used as a filter to extract, filter, change, or format (usually text) data as it's received at one place and moved to another .... like a log file or a serial stream.
awk is more of a text processing script language. You feed it a file name (for example) and, using tools like regular expressions, it'll make changes to the text in the file (or dump the changed text to another file ... it's usually bad juju to kill the original information until the proper changes have been confirmed (saves you from an interrupted process and / or other corruption).
grep is mostly used as a fliter (like "more|grep blah" or "ps -A|grep ftp) to located text within a stream or file ... it usually can describe the location (in a file, a line number, for example). grep's power comes from it's use of regular expressions.
Regular expressions are symbols used to describe the object of interest ... things like "^" to indicate a match starting at the begiinning of the line, "$" indicating the end of the line, "." matches any character ... then there are quantifiers like "+" to match zero or more positions, "*" match one or more positions, and "?" - match zero or one position.
So if you were scanning an email file, you might look for something like ^Sender:.*$ to find a line starting with("^") "Sender:, that contains one or more characters following (".*"), immediately followed by the end-of-line ("$")
(the above example is not necessarily good form, it's just an example)
If you have to evaluate large masses of text, wither on-the-fly or in a file (like log files) these tools, and regex can save a great deal of time and hassle.
O'Reilly has a great book on regular expressions called 'Mastering Regular Expressions' that does a great job of covering regex use.
FWIW
Scott