Authentication is the “password” for a “username/password keypair” that lets the “user” join the chat server.
Once you have joined the chat server you can join any channel/room you like.
This is essentially the same as how a “regular IRC” bot works.
This is more for a multi channel join where the have a user, say “nightbot” to use a real world example
And nightbot connects to chat and it’s own channel and then people can make nightbot join their own channel by going to nightbot’s channel and running !join
An alternative is you have an oAuth for your bot, users go to your bots website, login with their Twitch and you have a join button, when thats pressed, you tell your bot to join that channel.
For both examples you are telling your bot to perform a JOIN command, and this works whether you have an oAuth and are logged into chat as a real user, or if you have anon connected to chat and used no oAuth