So far as phones are concerned, the main point is perhaps that some phones can only speak HTTP. Phones often do not run HTTP over TCP, but WDP (Wireless Datagram Protocol) used for WAP.
TCP is a connection-oriented protocol... that is, a connection is established between client and server, and a two-way conversation can then take place. Packets of information sent have a place in that conversation, in terms of sequence... that is, if I transmit two packets of information, they are guaranteed to be delivered in the same sequence that I sent them.
WDP (and UDP) are connectionless... packets of information have an origin and a destination, but have no relationship to one another. Two packets cannot logically be part of the same message, and there is no guarantee that they will arrive in any specific sequence.
Think of TCP as like a phone-call, and datagrams (like UDP or WDP) as like the postal-service.
With HTTP, a conversation consists only of one request, then one response. Although HTTP is usually transported by TCP, WAP carries it with datagrams.
For this reason, phones like the Nokia 7210 will not support TCP socket connection, as they don't use TCP. So a 7210 can connect only to a web-server, not to (for example) an email server.
Because of this restriction, the essential issue about which to use is one of compatibility. If you want to support the maximum number of handset models, you must use HTTP, as it is the only protocol that the MIDP specification requires.