It&#x27;s a bad fit for most of the things I need to do.  Especially for systems that have a lot of background processing, but need a web front-end (because enterprise, and dashboards!), it is a drag to have everything go down because IIS has decided to recycle your app pool due to 20 minutes of front-end inactivity.  Yes, you can change the settings to disable that, or architect things differently to separate the UI from the background service, but it is extra complexity that is a pain.  Building a Windows service that has a light-weight webserver built into it is much easier.<p>IIS also has too many knobs that can get fiddled and frig things up.  Before we switched, I&#x27;d always be on support calls to help a customer fix one of our products after their sysadmin tweaked something in a way to break us, or installed some other piece of software that stomped on us.<p>IIS also has a very conservative set of defaults if you naively install it.  Seriously, I&#x27;ve seen a lot of instances where customers install IIS, and CSS doesn&#x27;t get served - you have to install an additional Static Content module.  People don&#x27;t read instructions, or bother to run required setup scripts.  So you have to do a bunch of additional work with less-than-friendly installer authoring programs to make sure that features that any self-respecting web server ought to have out of the box are available.