Its like having the same waiter vs a pool of waiters
Sources: https://serverguy.com/wp-content/uploads/2020/10/Apache-Vs-N...
https://www.google.com/search?rlz=1C1CHBF_enUS874US874&sxsrf...
People sometimes like to have opinions about stuff. But there's no reason to google for secondary sources when the documentation is good.
Read the manual instead. The documentation for both projects is correct, short and to the point. They are both multi threaded, multi process, with an event loop. The documentation describes how to set those parameters. Look at the thread_pool directive for nginx and AsyncRequestWorkerFactor for Apache for example.
You could of course configure one thread per connection, but that only makes sense under specific circumstances.
TLS kills this, alas, and, I think, with TLS OpenSSL will be bottleneck for static content, not server.
OK. But you might as well use a fast setup if there's no cost in complexity to do so.
Since then computers (and presumably also Apache) have become faster and I don't really know how it compares today, but at least in the past it really did make a significant enough performance difference to care about.
I'm one of those who always just stuck with Apache because 1) I'm used to it, and 2) it's never been close to a bottleneck in our stack. Especially now that the vast majority of static content requests don't even hit the servers at all. Buy I am curious! I haven't looked at comparisons in years, but last I did, everyone liked to compare nginx to prefork Apache, which is pointless.