Some languages (mostly ones made in the last 2 decades or so) can now not only run (after some compilation step or directly) on several platforms, but also can be compiled to run on several virtual machines.For example, take Scala. Pure Scala code can be either interpreted , compiled to run on the JVM (Java Virtual Machine) or can be compiled to run using the .NET Framework.The benefits of platform-independence put aside, what exactly are the benefits of writing code that can compile on several virtual machines and runtimes? 
Cross Machine Code?
java;.net;scala;cross platform;virtual machine languages
It is simpler to write the intermediate compilers - one to the bytecode/IL (whatever) from your source, and one from bytecode/IL (whatever) to native code.It also allows you to create new languages and target the bytecode or write new bytecode to a new processor and automatically have a new platform available.See this blog post by Eric Lippert (one of the C# compiler and specification writers) on the subject.