El JDK y el JRE son dos productos diferentes que tienen que ver con el ecosistema de Java.
El JRE es un entorno de ejecución para Java. Cuando se instala, trae la máquina virtual de Java, entre otras herramientas.
La máquina virtual de Java (o JVM) es el entorno de ejecución que permite ejecutar aplicaciones Java. En otros lenguajes de programación, el resultado del desarrollo se transforma en un ejecutable (por ejemplo, aplicacion.exe), pero este ejecutable sólo funcionará con un sistema operativo y procesador concreto. Sin instalar soluciones raras (como Wine), no se puede sin más ejecutar un .exe en otro sistema operativo. Si acaso, Windows permite ejecutar binarios de 32 bits en un ordenador de 64 bits, pero no es posible ejecutar un programa de 64 bits en un ordenador de 32 bits. Java soluciona este problema compilando el código fuente a un tipo de lenguaje intermedio, denominado bytecode, que es virtual y que no se corresponde con código máquina que pueda ser comprendido por un ordenador real. La máquina virtual de Java es un programa real que se instala en un ordenador concreto y que hace la última traducción entre ese código intermedio y el código máquina que ejecuta el ordenador completo. De este modo, es posible fácilmente llevarse un .jar con un programa Java traducido a bytecode a cualquier otro ordenador que ejecute otro sistema operativo y procesador: mientras haya una máquina virtual de Java que pueda hacer la traducción del bytecode al procesador, se podrá ejecutar.
El JRE solo contiene la máquina virtual de Java y pocas cosas más, porque principalmente está pensado para ejecutar programas ya fabricados de Java. Por ejemplo, si buscas ejecutar una aplicación web hecha en Spring o jugar un rato a Minecraft, te basta con el JRE.
Sin embargo, si buscas desarrollar software vas a necesitar también los compiladores que te permitan transformar código fuente a código máquina bytecode. Y para eso, no basta con el JRE. El JDK, Kit de Desarrollo de Java, es otro bundle que permite instalar herramientas para poder compilar y enlazar código Java, además de otras cosas como generar paquetes de Javadoc o empaquetar archivos JAR. Si vas a programar Java, necesitas obtener un JDK.
Uno de los aspectos más importantes es que el JDK también incorpora una máquina virtual de Java, por lo que si instalas el JDK no necesitas instalar también el JRE. El JDK te proporciona compiladores, enlazadores, empaquetadores, pero también una misma copia de los elementos que trae el JRE. En otras palabras, hoy en día el JRE es un subconjunto reducido de lo que trae el JDK, pensado únicamente para ejecutar programas.
Esto también ha tenido una consecuencia muy interesante en los últimos años. Antiguamente, instalar el JRE era un ritual en servidores y otros entornos de ejecución de Java. Eran los tiempos en los que el JRE se descargaba desde la página web de Oracle, porque el modelo de distribución lo controlaban ellos. Sin embargo, hoy en día, con la apertura del JDK a otros fabricantes, que no hacen más que re-empaquetar el OpenJDK, el JRE como producto se ha convertido en una cosa en peligro de extinción. La mayoría de distribuidores de Java ya no permiten descargar el JRE, porque el JDK ya lo trae, y con el tamaño de los medios de almacenamiento, incluso de los servidores más baratos y austeros, tampoco es un problema instalar compiladores aunque no se vaya a usar. Únicamente Temurin sigue permitiendo descargar desde su sitio web el JRE, si se busca una menor descarga. Tengo una lección hablando de este tema.
¿Qué deberías descargar? Mi sugerencia es que, salvo que estés usando el entorno de ejecución de Temurin, te animes a descargar el JDK en cualquier caso. No pierdes nada y será una descarga más sencilla. Sin embargo, en Windows puede que sea más fácil de obtener el JDK de Temurin porque te permite instalarlo mediante un asistente que además configura las variables de entorno. Tal vez en ese caso, si tengas una razón excepcional, te pueda interesar descargar el JRE para que ocupe menos espacio en disco.