the PATH environment variable has been around a LONG time. I am pretty sure it pre-dates java. it is basically a list of directories that the operating system (windows, Unix...) uses to search through when you type a command.
it would really suck to have to type
every time you wanted to run the 'ls' command on unix, so the directory "/usr/local/bin" is put in your path. here is what my path looks like on one of our unix boxes:
Any time i type a command, the OS says "well, let's see if i can find an executable called 'ls' in the "/CISV1R4/scripts" directory. Nope? ok, how about in the "/CISV1R4/bjc" directory. Nope? how about in the..." and it keeps going until it finds it, or runs out of places to look.
so, your OS will use the PATH directory to find where the java executable file is so that can run. This is all done behind the scenes.
now... java needs to find class files to run. When you start the java program, you can explicitly state the location of your classfiles, but that gets old pretty quick. So, they came up with the CLASSPATH variable. java (once it starts) uses the CLASSPATH variable (in the same way the OS uses the PATH variable) to see where to look for you class files. Here is my CLASSPATH on one of our unix boxes:
I don't want to type all those every time i run a java program. so, java knows to search all of those directories each time it is trying to find a class file. Notice the last directory in the list is a dot. That means 'search the current directory as well'. having a dot in your classpath can help solve a lot of issues.
if you are a beginner, I wouldn't worry about setting the classpath just yet. But if you do, make sure you have a dot in there somewhere (and note that the separator between directories varies by OS).
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Regarding CATALINA_HOME, If you go through your startup.bat or startup.sh file inside Tomcat/bin folder, you will find they are using this key to refer to the path (which depends on where you installed your tomcat) of the Tomcat folder. So, you need to mention this path in environmental variables so that the batch file can get the actual path of your tomcat directory.