There are various definitions of "real-time" and we should not make this an argument about semantics. I meant real-time in the sense of "a soft real time software system" or the "Quake" sense of the word.
http://en.wikipedia.org/wiki/Real-time_computing#Criteria_fo...
In other words, "real-time" in the sense that missing deadlines will mean that the quality of service is degraded. Deadlines here mean delivering the packets in time for the next simulation timestep.
Yes, TCP can be successfully used in games classified as "real time" as opposed to turn based, such as RTS games or MMORPGs. But when analyzing it them from a software standpoint, they might be just very fast turn based games.
Here's another interesting piece about networking multiplayer games, this time in an RTS game (Age of Empires): http://www.gamasutra.com/view/feature/3094/1500_archers_on_a...
The solution they used was essentially a 15 frames per second lock step loop. It looks like real time to the player but from a software standpoint it really isn't.
You and I agree on everything except the definition of "real-time". There are applications where TCP works well and applications where UDP is better. I'm sorry if my words were a bit overgeneralized and it annoys you.