I have used a few reverse proxies, such as HAProxy, Traefik and Kong. And when I started working with Kubernetes, I was confused by the concept of Ingress. Aren't the routings to back-end resources also achievable via reverse proxies? What is the purpose of using Ingress?
You can use any reverse proxy you want (for example kube-nginx-proxy).
In this case you need to perform some configuration steps, which could take a lot of time.
Ingress is specially designed for fast setup. The only thing you should do is to describe your configuration using yaml, which is easier and faster than third-party solutions.
Also you can use, for example, Istio for this purpose, in which case Ingress is already integrated.