Ele deve querer esconder para proteger a propriedade intelectual dele. HTML/JavaScript/CSS também não é assim tão importante quanto isso para que a aplicação funcione (antes que alguem me crucifique aqui, não é importante para o sistema ou como este funciona, mas é essencial)...
Um servidor web apenas faz a gestão de pedidos a uma máquina por uma determinada porta, e envia esses mesmos pedidos a quem o pediu pela mesma porta.
Quando fazes um pedido de um ficheiro php ou asp ou seja o que fôr a um servidor, mas este não sabe o que fazer com ele, apenas re-envia o ficheiro de volta ao cliente como ele é, ou seja, envia-lhe o ficheiro como tu o programaste, com php/asp/aspx etc junto. Normalmente, o servidor web custuma ter instaladas alguns "proxys" (ou ISAPI's) por assim dizer, que ficam à espera de chamadas a ficheiros com determinadas extensões (configuráveis) para as processar e enviar o resultado ao servidor. Este por sua vez, envia o resultado normalmente.
Exemplo de servidor sem nada instalado:
Cliente->Servidor Web->Ficheiros...
-> Servidor fica à "escuta" numa determinada porta (normalmente a 80)
-> Cliente 123.XXX.XXX.XXX faz um pedido ao ficheiro XPTO.JPG pela porta especificada.
-> Servidor procura ficheiro, e envia para o cliente
-> Cliente recebe ficheiro.
Exemplo de servidor com processamento Php instalado:
Cliente->Servidor Web->Php(ISAPI)->Ficheiros...
-> Servidor fica à "escuta" numa determinada porta (normalmente a 80)
-> Cliente 123.XXX.XXX.XXX faz um pedido ao ficheiro XPTO.PHP pela porta especificada.
-> Servidor procura ficheiro
-> ISAPI reconhece a extensão, e processa o ficheiro
-> ISAPI envia o resultado ao Servidor Web
-> Servidor envia para o cliente
-> Cliente recebe ficheiro.
Desta forma o cliente nunca chegará a ver o Php/Asp/Aspx do lado dele, pois nunca chega a recebê-lo.... O resto dos ficheiros que não se enquandrem nas extensões pré-definidas serão enviados sem qualquer tipo de pré-processamento, ou em formato de texto simples, ou em formato binário (imagens e afins)
Se quiseres esconder o HTML.... Bem, acho que nunca poderás esconder o HTML a 100%. O que podes é dificultar o acesso.
Se a tua página inicial carregar um popup sem menus, e dentro desse popup fizeres uns 3 ou 4 redirects, o cliente já irá estar perdido e não saber por onde anda. Isso com uma função em JavaScript que te elimine (esconda) o menu do botão direito do rato pode fazer com que a página fique um pouco escondida.
De qualquer forma, é ir ao Temporary Internet Files e sacar o HTML da página e ver por onde ela anda...
Abraço.