Most of the advantages come from the stream / eventemitter API. It
allows you to do things such as

Live code reloading - connect the network connection in the parent process,
pipe it to the child process which loads the actual code. Signal the master
to kill and respawn the child process - the code will be reloaded without
losing the connection to the IRC server.

Browserify / use on different transports - for example, use it through
websockets in the browser by piping the connection streams using
shoe. Here is a complete
example using browserify

If you are piping a socket (or any stream with a connect event) directly
to ircee it will recognize and re-emit its 'connect' event. Otherwise, you
will need to tell it when the connection has been established:

irc.emit('connect')

Disconnects arrive as close events. For example, to immediately reconnect
to the server, you can do this:

irc.send - sends a command to the server. The first parameter is a
command string, while the rest are the command parameters. As per usual
in the IRC protocol, the final parameter is allowed to have multiple words.
For example: