Usually msi packages are provided for system administrators who would have the need to deploy the software to several terminals over a network.
The results are no different from using an executable, but msi packages sometimes do have additional options such as doing silent or pre-configured installs.
If you are not a system administrator, use the executable.
MSI files are relational databases and used by the Microsoft Installation Service. This service installs applications onto the computer. MSI files offer far more flexibility for application installation and maintenance than older scripted executable programs could ever provide, thus MSI files are the current recommended method for installations on Windows.
There is no real advantage of .exe over .msi other than if you use Winrar (or some others), you can usually extract all files from a .msi file, without needing to install anything.
Sometimes, especially when installing .NET applications, there is a Setup.exe and an .msi. In the case of .NET, the Setup.exe can check to make sure the system has all the proper prerequisites installed (like the .NET Frameowork, etc) for running the application.
If your system is missing one of these prerequisites, it can prompt you to install them first before running application, which could save from having the app successfully install, but then fail to run because of a missing library or framework.
If you have all the prerequisites, the Setup.exe just launches the .msi
Among other subtle differences:
A single MSI file can only have one single locale for the install wizard (details).
This can be a reason for distributing an app as .exe, which is more flexible.
So, if the language of the install wizard is important, you might have better luck with the .exe
I personally prefer .zip (or equivelant) if available. So I can extract it where ever I want, so I know exactly what has changed in my system (since I’m the one who changed it).
The ideal situation would be a portable program.
Though if I have to choose between exe and msi, I’d pick exe. Just because ..
Usually msi files spend a long time doing useless searching for configurations and stuff like that. exe’s can do that too, but it’s more like that an exe will just extract files somewhere and install start menu shortcuts.
IMHO, MSI is more secure in the sense that when you got infected with a virus, your exe files can become infected since one of the ways virus spread is latching its code inside executable files. They are less likely to do that with an MSI file.