We have done real world experiments and seen that TCP becomes totally unusable for real-time games over a poor quality link. If you weren't aware, the internet is full of poor quality links. TCP can be made to work for games that have no "twitch" reaction requirement, and have high-quality regionally based servers, such as Bombermine. However if you have a twitch reaction game with a single server, it will be totally useless for entire continents of players.
The problem with TCP is it offers guaranteed and ordered transmission. If a single packet gets lost, no future packets will be received by the client application until that packet is retransmitted. In the mean time, the OS holds up all incoming packets and doesn't let the application see them. Even if new data is coming down the network cable, the OS queues it all up and doesn't let the application see it yet, so that the application only ever sees the correctly ordered sequence of packets. That's what TCP is designed to do.
Over a poor quality link TCP packets go missing every couple of seconds, and can take a second or so to retransmit. The game hangs every time this happens. The result is unplayable. Using UDP it would be possible to still get a decent experience, because missing packets are simply discarded and the next one that happens to arrive usually arrives quickly enough to interpolate over the gap.
So technically TCP does not add much extra over-the-wire latency or overhead, but the retransmission and ordering guarantee at the OS level make it perform substantially worse than UDP for gaming. On that basis, I think that StackOverflow question you linked to is complete nonsense! WebRTC is the only reasonable technology to use for real-time gaming.