Programming languages and compilers

A runtime initially interprets bytecode and later compiles a frequently executed method to native code. What is the main reason for this strategy?