Veja alguns dos motivos para usar várias instâncias:
O uso de diferentes instâncias (instâncias nomeadas) permite que você execute bancos de dados de aplicativos diferentes em níveis de correção / service pack diferentes do SQL Server ou, na verdade, em versões diferentes do SQL Server.
Se um aplicativo (principalmente de fornecedores terceirizados) exigir privilégios elevados, convém separá-lo, colocando-o em uma instância própria.
O uso de instâncias diferentes é uma maneira primitiva de alocação de recursos - alocar apenas uma quantidade significativa de memória a uma instância e oferecer uma quantidade diferente de memória a outra instância.
Em um ambiente agrupado, o uso do empilhamento de instâncias é uma boa maneira de obter um ROI melhor - você pagou por todo esse hardware e pelos custos de licenciamento.