It all depends on the intended purpose.
Are faster at runtime
Conceal source code
Have associated compile time
Are better when you're not making frequent changes to the code, and care a lot about runtime speed
Are slower at runtime
Have open source code, but that code can be obfuscated (minification, uglification, etc)
Don't have to compile before use, but can have an initial parse time that's typically much faster than compile time
Are better when you are making frequent changes to the code, and don't care as much about runtime speed
There are also factors regarding whether you need additional software to be able to run the code, but languages like Java (compiled but still needs the JVM) kinda muddy the waters on this.
Some languages come with compilers that are fast enough to make them equally suited for frequent changes (e.g. Go). Compilers can also help you find problems early - the Elm compiler is famous for this - which can be a boon when making frequent changes.
When it comes to muddying the waters, I'd go so far as to say interpreted and compiled are different ends of a spectrum rather than enumerable values.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.