It is powerful, but the curve is
really steep, and it is still subject to the seemingly random, myriad of constraints and limitations - for example, there is a whole class of variables that you can only write to at certain stages in the install process.
The last MSI installer I wrote had to install 2 Windows services, write to the registry, grant file system access rights, and install a minifilter driver. There was a lot of swearing, and I was really close to launching my laptop out of a Window several times. It was a very unhappy period of my life, and if I never have to write another MSI installer, it will be too soon.