As linguagens de scripting são interpretadas, necessitas de um programa para interpretar as instruções e depois executar essas instruções, ou seja, não corre sozinha. Como precisam de ser interpretadas (normalmente, on the fly.. ou seja, na hora) por outro programa costumam ser mais lentas. Normalmente são de mais alto nivel do que as compiladas, ou seja, a curva de aprendizagem é menor e é mais rapido desenvolver.
Exemplos: Python, TCL, Perl, PHP.
As linguagens compiladas correm directamente no processador da maquina e por isso são mais rápidas. Normalmente são de mais baixo nivel e por isso é preciso nos preocupar-mos com certa gestão de memoria por exemplo.
Exemplos: C, C++, Pascal.
Existem ainda as outras que são uma mistura que é o caso do Java e do .NET, são previamente compiladas para código que a virtual machine reconhece e depois interpretadas pela virtual machine. Este processo torna o processamente mais rápido do que interpretar linha a linha um script. Por norma ainda existem optimizações a fazer as interpretadas para funcionarem mais ou menos assim como as "semi-interpretadas". O exemplo do Python é obvio, ele faz um parse rápido para um .pyc para depois a execução ser mais rápida.