Arquivos EXE podem ser tudo. Quase tudo que você roda em seu computador é iniciado por um arquivo EXE (exceto o prório Windows e os drivers).
Eles contém código executáveis que fazem o computador funcionar, e podem ser de todo tipo.
MSI são arquivos de base de dados, usados pelo instalador do Windows. Eles contém informação sobre um aplicativo necessária para executar recursos e componentes, e cada componente pode trazer arquivos, dados de registro, atalhos, etc.
O arquivo MSI também contem o UI, que é usado para instalações, e vários outros dados como os pré-requisitos a buscar, ações personalizadas a executar, o procedimento de uma instalação, quando oferecer suporte a Instalações Administrativas, etc. Assim como arquivos reais a ser instalados automaticamente (não é sempre, mas os arquivos podem estar embutidos num arquivo CAB externo ou como arquivos comprimidos comuns num local onde o MSI possa encontrá-los).
Arquivos MSI são atualmente o meio recomendado de se instalar programas no Windows.
Os MSI são executados por um arquivo EXE que é parte do Windows, chamado MSIEXEC.EXE. Este aplicativo lê os dados no arquivo MSI e executa a instalação.
O Instalador do Windows é bem recente, principalmente a versão mais nova (3.0). Geralmente instalações que usam MSI ainda vêm com um EXE (SETUP.EXE, por exemplo). este EXE é chamado de ‘bootstrapper’. Ele não realiza a instalação, apenas checa se a versão correta do Windows Installer está presente no sistema, se não ele inicia o “MSI Redistributable” (MsiInstA.exe ou MsiInstW.exe, dependendo da plataforma) e então inicia o arquivo MSIEXEC.EXE contido no arquivo MSI. Em alguns casos (sobretudo em downloads da Internet), o arquivo MSI e o MSI redistributable são empacotados dentro do arquivo EXE, por isto você não os vê.
Resumindo: instalações podem ser feitas de 3 maneiras:
Arquivos MSI servem apenas para instalações. Arquivos EXE podem ser qualquer coisa que possa rodar em seu computador.