The JRE includes the JVM, which is what actually interprets the byte code and runs your program. To do this the JVM uses libraries and other files provided by the JRE.
I believe you would say that the JRE is like the .NET Framework, while the JVM is like the .NET CLR. There are probably some important differences here I am not aware of though.