A reminder that TCP_NODELAY should be set by default, and you should remember to set it if it's not.
Many protocols end up being ping-pong ones. This includes HTTP/2 for example.
I already mentioned why! It's common pitfall.
For example, try a large HTTP/2 transfer over a socket where TCP_NODELAY is not set (or rather, explicitly unset), and see how the transfer rate would be limited because of it.