Here is a
link to that
thread.
The basics are:
JRE == Java Runtime Environment
JDK == Java Developer's Kit
SDK == Software Developer's Kit
JVM == Java Virtual Machine
*JDK and SDK are sometimes interchangeable.
I'm not sure why you have two different directories with the same name (on at the root of C: and the other in Program Files), but it could have to do with multiple installations of the SDK/JDK. I have two different directories (but in the same folder) of jdk1.5.0 and j2sdk1.4.2_06. Someone else might be better for answering that part of your question.