Describe the key differences between TCP and UDP, and explain when you would use each in a real-time machine control environment.