Telnet clients can be used in 2 different modes. When connected to a true telnet server (usually on port 23), it uses the TELNET protocol defined by RFC 854 and is use as a remote terminal program.
In any other case, it just (almost(*)) tranparently transmits every character given locally to the remote, and displays locally every character sent from the remote.
It is not a dangerous tool per se, but it can be used to bypass any control made by well behaving clients, and because of that it is often seen as a hacker tool. In fact, it is highly used by developpers and admins to manually test various servers. It was intended to be a simple remote terminal program before being superseded by ssh
for that use, because the latter allows for encrypted exchange, while telnet assumed the network to be secure and transmitted everything in clear text. But it is still used as a netcat
clone because it is installed by default on most Unix-like systems.
(*) most telnet client have an escape character that allows to open a command mode to pass commands to the telnet program.