It's very commonly used by the ingress controllers. You can get things working with hostNetwork or custom service port ranges, but that's a lot rarer than doing it via load balancer.
Third option would be to expose pods directly in the network. EKS does this by default, but from my experience it's quite rare for people to leverage it.