A Service gives stable networking to pods (stable name/IP) and load-balances inside the cluster. A LoadBalancer Service typically provisions a cloud L4 load balancer to expose the Service externally. Ingress is usually L7 HTTP routing (host/path rules, TLS) in front of Services, managed by an Ingress Controller.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "kubernetes-service-vs-ingress-vs-loadbalancer:-w"
function explain() {
// Start from the core idea:
// A Service gives stable networking to pods (stable name/IP) and load-balances inside the cl
}