En el conjunto de caracteres ASCII,0-31 se reservaron como caracteres de control del dispositivo (de ahí la tecla CTRL). 0 = Nulo, 1-26 = CTRL-A hasta CTRL-Z, 27 = ESC, 28 - 31 Otros. 32 es el primer carácter imprimible siendo un espacio " ".
Si buscas en la lista, notarás que los caracteres "CTRL" hacían cosas especiales, 8 = Retroceso, 9 = Tabulador etc., y después de todos los caracteres imprimibles, 127 significa "Borrar".
Antes del "Protocolo de Escape", la tecla Escape era la versión original de la tecla "Break", en el sentido de que Escape era para salir del programa actual y saltar de nuevo a la consola.
Cuando el ASCII se desarrolló adecuadamente, el "carácter" ESC se utilizó para indicar otros comandos que no eran de impresión, por ejemplo, ESC-B podía activar la impresión en negrita. Los conjuntos más comunes de códigos ESC eran el Epson Set (impresoras de matriz de puntos) y el Diablo Set (impresoras Daisy Wheel).
Por qué IBM decidió incluir la tecla de escape y una tecla de ruptura, originalmente CTRL-NUMLOCK, no lo sé y parece un poco redundante.