I use Microsoft IIS because it is shipped by default with Windows Servers for which of them I usually develop applications. IIS perfectly managed from PowerShell which I use as well, thus it is very easy choice for me. I could have clean Windows instance and bring it to desired state using PowerShell capabilities. Also this is default configuration for debugging in Visual Studio which means that I develop in the environment which is closer to production.
This is a legacy system requirement. We have some portions of our website written in PHP. Normally this wouldn't be an issue but at the time they decided to use PHP+Windows they were also trying to use MSSQL databases (All the microsoft influence was due to some azure credits the company received early on). The particular driver they ended up picking forced them into using the
mssql_* functions instead of PDO. This meant that the majority of the site used these rather outdated calls and replacing them was a rather large endeavour. So while we migrate some of the PHP backend away to various node.js api systems we are simply sustaining the existing PHP portions. Microsoft IIS