A LoadBalancer service points to external load balancers and are not a part of cluster, that is on your cloud provider
Whereas ingress is just set of rules that is passed to the controller that is listening the resources allocated. You need an ingress-controller that holds all the routing and traffic forwarding rules. Even a LoadBalancer service will listen to ingress provided the ingress-controller contains the required rules.