I'll dissent here and point out that Traefik is much more difficult to set up. The documentation is not great and it's just a far more complicated process. I'm actually still on Traefik 2.x because I just flat out don't have the time to re-learn everything for 3.x.
Integrates REALLY well/extremely easily with docker/kubernetes. (Which- is where 98% of my reverse proxy usage is)
Although, even the services I don't have running in my k8s cluster... are still proxied through the traefik in my k8s cluster, as I really enjoy the manifest-based configuration and deployments.
I'll have to give it a closer look. I've been using ingress-nginx in my k8s clusters, but one of my colleagues has been recommending that I take a look at traefik.
I like Nginx too. I'm familiar with the config syntax since I've been using it for a long time, and it's useful being able to use the same software for both reverse proxies and for regular websites.
I have a bunch of config snippets in /etc/nginx/snippets/ for things like a base proxy config, secure TLS settings (eg for things that aren't public-facing, I only enable TLS 1.3), WordPress sites, etc that I just import where needed. Most of the config is in reusable snippets.