It's for convenience, but it's also a lower-than-user-level diagnostic. You can isolate the problem you're having with a service that way, for example: Joe has a database server and client. They are not communicating. Is the problem on the network? The server? The client?
Joe goes to the client machine and opens a shell. He uses telnet, just as you described:
telnet server.ip.com 3333
and types a command as if he were the client program
WHO;
The server replies with
'11','JOE.CORP.COM'
(It's a very dumb server)
So then Joe knows that the network link to the server works, and that his client is likely not configured correctly.