If you're a game programmer who wants to start adding some networking to a game, just use TCP for now.
Then, learn about:
- flow control
- security ([D]TLS)
- graceful degradation
- statistical profiling
- human time perception
- physical limitations of networking hardware
- market penetration of different latency/bandwidth uplinks in all the markets you care about
- performance analysis
When you are done with all of that, then it's time to start investigating UDP.