SNMP is a request/response protocol. UDP port 161 is its well-known port. SNMP uses UDP as its transport protocol because it has no need for the overhead of TCP. "Reliability" is not required because each request generates a response. If the SNMP application does not receive a response, it simply re-issues the request. "Sequencing" is not needed because each request and each response travels as a single datagram. The request and response messages that SNMP sends in the datagrams are called Protocol Data Units (PDU). These message types allow the manager to request management information, and when appropriate, to modify that information. The messages also allow the agent to respond to manager requests and to notify the manager of unusual situations.
Don't know if you still want to know...TCP is a "secure connection" protocol meaning that whenever anything is sent, the receiver sends a reply to say it's received it, UDP just sends it out and doesn't need any acknowledgment. TCP uses more resources on the network since everything that's sent also needs to be acknowledged. It also means that UDP is faster than TCP since it will just send and not wait for any acknowledgment. That's my understanding, I'm a uni student and covered this a couple years ago so I might not be 100% accurate.
I believe to lessen the overhead. Since SNMP is only used my monitoring purpose, it's not a priority protocol from control plane perspective. TCP adds way more overhead.