Pascal (como muchos lenguajes) está pensado para tener un reducido número de funciones y procedimientos "predefinidos". El resto de lo que uno quiere hacer está almacenado en lo que se llaman (en Pascal) "unidades".
Cada unidad puede tener funciones, procedimientos, variables, constantes y tipos de datos definidos por el usuario.
El motivo por el que uno debe (generalmente) usar la CRT es que necesita alguna de las funciones que está contenida en esta unidad.
Por ejemplo, la función ReadKey, Delay, GotoXY y muchas otras, están declaradas en la unidad CRT. Por eso, si uno piensa usar una de estas función, tiene que agregar la unidad CRT a la cláusula uses.
En la ayuda de TP buscá CRT-functions o CRT-constants y vas a ver la lista de funciones, constantes, etc. que tiene adentro.
GotoXY manda el cursor a la posición que uno le pase, así GotoXY(3,4). Moverá el cursor a la posición de pantalla columna 3, fila 4.
Delay pausa la ejecución del programa por la cantidad de milisegundos que especifiquemos, así Delay(1000) va a "poner en pausa" el programa por un segundo, en la exacta posición donde esté el delay, y después va a reanudar la ejecución.
¿Estamos claros ahora? Cualquier duda preguntá de nuevo.
Saludos.