Interpretation is greater flexibility and better diagnostics than compilation.
Compilation is better performance than interpretation.
Most of languages implementations mixture of both compilation & interpretation shown in below fig:
We say that a language is interpreted when the initial translator is simple.
If the translator is complicated we say that the language is compiled.
The simple and complicated are subjective terms, because it is possible for a compiler to produce code that is executed by a complicated virtual machine( interpreter).