HAProxy gives you the option to set the mode to TCP or HTTP. It also allows you to set the port.
So why allow me to choose between HTTP and TCP, if it's letting me choose the port too? Surely if I wanted HTTP I could just choose TCP and port 80?
Why only TCP and HTTP? It seems to imply that HTTP is not TCP. Why not have TCP, HTTP, SNMP, FTP, etc, etc, etc..
Why just HTTP and TCP? Why have either of those options if HTTP is TCP? Find it very confusing, and it's really difficult to find any information about load balancing non-http(s) services.