ELB is pretty old and should be avoided tbh, use ALB and if you can't should switch to NLB ( for pure tcp LB ).
Same issue as NLB, they charge for units based on concurrent connections and it gets very expensive very quickly.
DNS round robin has the disadvantage of not guaranteeing that the traffic will be equally distributed. This can be a problem if there's a lot of automated traffic.
But, with that said, in term of price, it's unbeatable.
I have had success DNS round robin-ing a cluster of HAproxy LBs which handle SSL and then proxy to my backend websocket gateways which keeps the real load evenly distributed where it matters and also run health checks on the nodes.
The point is at scale you can't guarantee equal but something around there
That works well, but if you do ecommerce or a web app for which people write a lot of bots, then the traffic won't necessarily be that well distributed (mostly because users while run bots out of dedicated servers or such and will tend to only query dns once).
A bit of an edge case but pretty much the only issue I've had so far which is why I bring it up.
That's the first tool I grab for balancing _a lot_ of connections.