Basicamente un script se interpreta y un programa se compila (entre otros procesos).
Generalmente el resultado es que un script queda tal cual, en texto plano, y es el interprete que lo parsea y realiza sus funciones y un programa se compila, dando como resultado un binario. Es una definición general.