Communication between a Computer and Microcomputers
As stated in the comments, TCP is overall a better choice than UDP when it comes to reliability. 

UDP is lightweight and with a lot less overhead than TCP. Once you send a UDP message, you do not expect a return message that confirm whether the message was received or not.  To give you a practical example: UDP is used in video games a lot because it reduces the latency and the graphical engine can live up with a loss packet. When players play online they bombard the network with crazy amount of small packet. 

There is other implementation that can stack on top of the TCP protocol, but this will be linked to specific requirement and use case scenario.

TCP on the other hand is a heavyweight protocol with reliability in mind. Each packet contains a lot more of overhead to prevent corruption and to ensure that the data was received properly. It is mandatory that each TCP message received is confirmed to the sender. This means that one packet will create two transmission. 

Back to your question, on a local network with few data transfer, you will probably never see any difference and will likely only drop a packet once in a while. If you update quite frequently, but dropping is not crucial UDP is the defacto choice. If you want to know when a packet fail and you want more reliability and detection of failure, TCP is your friend.