A channel is a 'room' where peers can send messages to other peers in the channel. Two clients must share a channel to send both channel or peer messages to each other.

You can be connected to multiple channels at once.

You do not have to be connected to any channels to send messages to the server directly; you can do that even before name set.

Attempting to join a channel that does not exist results in the creation of that channel – this is the only time that the hidden and "auto-close" properties in the Channel Join action are used – and by default, you become the channel master. More details on the channel master, and how you can lose your master role, here.

Subchannels are unrelated to channels, and can be read about here.