Personally I've found apache is more fully featured for niche use cases. For example you can do client cert authentication, then further look up a username from the certificate in ldap for authorisation - all from your apache configuration. For Nginx many of these niche use cases seem to be gated behind Nginx Plus.
2.) Sticky Sessions (and various other features) without having to pay $$$ to F5
I end up reaching for Nginx before Apache these days, but I have a lot of production that uses Apache.
My servers mostly proxy requests to a backend (PHP-FPM, but this is applicable to all other server-side languages). If m requests come in for /foo and all requests have the same cookies, Apache will pass all m requests through to the backend.
nginx instead will pass one request to the backend and then serve the response to all m requesters, reducing backend load. The setting is called proxy_cache_lock (https://nginx.org/en/docs/http/ngx_http_proxy_module.html#pr...)
With Apache I have to put other software in front of the web server (Varnish usually) that does this for me. So switching to a server where I can reduce installs to support by 50% is appealing.
I've interacted with the development teams of Apache, NGinx and HAProxy. The lead developer of HAProxy has by far been the easiest to work and interact with.
Other operating systems have drawbacks as well.
It's probably a safer and maybe even more efficient bet to just do the stats and opens and hope that the kernel/OS file system caches will save the day. Or you can go the nginx route and not support .htaccess like facilities (e.g. turn if off in apache).
You can also detect when you have too many watches needed or a network filesystem to fall back to the existing path. It’s a philosophical difference ultimately.
Changes being adding a new file, changes to an existing one and so on.
.
While I hadn't thought of it, I haven't noticed issues around it. Using a platform like Drupal, Wordpress, Django, etc most paths don't exist on disk and just fall to the index file or get proxied to another server.
So this might be an issue for static files uploaded or static sites. Talking about Drupal and Wordpress, that would usually be,
sites/default/files/
wp-content