Most of the time, DNS happens over UDP. It's lightweight and faster than TCP. There have been trade-offs as a result of the design decision. It's easier to spoof UDP packets, so you have to worry about things like cache poisoning or DDoS attacks involving forged packet headers.
But nameservers still need to be available on TCP as well as UDP. The following will explain why.