Потому что то, что делает JIT, отличается для каждой системы.
Если мы предоставим статически скомпилированный двоичный файл, он будет работать только для систем, совместимых с этой системой.Java пытается быть независимой от платформы.
Таким образом, вместо предоставления статически скомпилированного двоичного файла (который работает только для одного) вы предоставляете байт-код, который будет работать в любой JVM, и позволяете JIT превратить его в скомпилированный кодесли он чувствует необходимость.