São muitas as vantagens, complementado o que já foi dito:
1) Biblioteca de classes com muito mais recursos (muito mesmo) do que havia no VB 6.
2) ASP.NET - você pode criar aplicações web usando OOP de maneira simples aproveitando os recursos do Framework e de fácil instalação, diferente do que acontece no ASP clássico onde você necessitava criar DLLs pra adicionar alguma funcionalidade e muitas vezes não tinha como instalar no servidor.
3) Fim do DLLs Hell (Inferno das DLLs), no .NET foi eliminado o problema da distribuição de DLLs que você era obrigado a registrar no sistema causando frequentemente conflitos de versão. Agora cada DLL (Assembly) é executado de maneira isolada, você pode ter inúmeras versões da mesma DLL no sistema sem que uma afete a outra.
4) Suporte a 64 bits.
5) Criação e utilização de Web Services de forma simples. Você pode consumir Web Services no VB 6 mas é mais complicado e limitado.
6) Suporte a diversas linguagens de programação, você tem uma comunidade maior trocando recursos entre si de forma simples devido a interoperabilidade entre as linguagens.
7) Um fator que considero talvez o mais relevante é que muita coisa que a MS vai lançar no futuro próximo ou já lançou vai contar com uma forte integração com a plataforma .NET. No Sql Server 2005 já acontece isso, o IIS 7 que vai ser baseado em Modules como o Apache além do Windows Vista. Quem ficar parado no VB 6 vai sentir muito a falta de suporte dos novos recursos.
Elieser, o VB 9 não é continuação do VB 6 e sim a próxima versão em relação ao VB.NET 2005. Orcas é um codename como o VS 2005 foi chamado de Whidbey antes do lançamento ou como o Windows Vista de Longhorn.
Relação entre as versões (Todos são VB.NET)
VB 7 - Visual Studio 2002 - .NET Framework 1.0
VB 7.1 - Visual Studio 2003 - .NET Framework 1.1
VB 8 - Visual Studio 2005 - .NET Framework 2.0
VB 9 (Orcas) - Visual Studio 200x - .NET Framework 3.0
Aplicações .NET são compiladas sim, o que ocorre são 2 processos de compilação, 1 quando você compila o código para MSIL que é uma linguagem intermediária e outro depois em runtime onde um compilador just-in-time (JIT) compila em código nativo no momento da primeira execução.