TLS (with proper ciphersuites) has numerous advantages compared to just encrypting and signing every individual message:
It prevents attacks that suppress, replay or reorder individual messages/packets (e.g. allowing an adversary to replace a "no" answer by a former "yes" answer that's replayed; or making one party believe that a message it sent was received by the other party, when really it was suppressed).
It gives forward secrecy, that is security w.r.t. confidentiality of past communications should a party leak their private keys in the future.
When only one party (e.g. server) has a private key, TLS still allows encryption in both directions (because it uses asymmetric key exchange).
The computational effort and amount of data exchanged are lowered in typical usage with many messages. That's because the relatively expensive asymmetric cryptography is used only at session establishment, then more efficient symmetric authenticated encryption can be used for the rest.
TLS typically comes with an infrastructure that automates the authentication of a server, by proxy of a certification authority.
Is sending a message under TLS more resilient to traffic analysis?
crypto.stackexchange.com for the present page), the size and exact timing of all interactions, including queries.
E.g. in an online voting application, even with TLS, the ISP likely could still tell if a vote has been cast from a given device.