These might not be unique features, but for a modern load balancer today I'd expect at least;
- HTTP/2 and QUIC support
- Proper HTTP/HTTPs based healthchecks to the backend
- TLS 1.3
- Rate limiting per source IP/session (to prevent GET/POST flooding)
- Optionally some kind of GEO awareness, to set additional headers/redirect logic based on origin
- Proper built-in stats, to learn about req/s, which backend gets most traffic, ...
- In an ideal world: an agent on every backend server, that can communicate its server load to the load balancer, to dynamically change the weight of request distribution across the backends (more hits to server with lower load)
- Load balancing based on average response time, lower response time gets more hits sent to it
- Built-in virtual IP failover (IPVS/VRRP)?
- Let's Encrypt for dynamic TLS generation (think Caddy)
- Easy maintenance page configuration (if all backends are down, server static HTML say "we're doing planned maintenance")
- Caching of requests?
- If caching is included; cache stampede protection (if 10k requests fetch the same page, only send 1 to backend)
- HTTP Keep-Alive support for both clients & backends
- Ability to overwrite headers sent towards the backend
All in all, I think the demands for a modern load balancer are pretty high, so don't be discouraged if you don't support all those features yet. That's what open source is for, anyone can contribute!