UDP packets are not ordered. This is a problem in most MMO games. We don't want the game to be recieving packets out of order because this could easily cause some basic duping issues, as well as other similiar problems. Also, since they are not ordered, any security checks to, for instance, prevent duping, may block normal transactions if somehow packets arrive out of order. This is not desirable.
Some games may use UDP, but it's mostly reserved for much simpler systems that don't intend to repeatedly send packets long term. Chat programs and IM programs I imagine could use UDP much easier because there is a set data packet or set of packets for each message, and the program itself isn't trying to do anything in real time.
TCP works, or rather, can work, in a stream. This is good for things like online games that want to appear to be in real time. UDP however sends packets in bits and pieces, and while I've never played a game that I know for certain uses UDP, I imagine this would make it much more difficult to achieve that.