The functionality in the free and commercial versions is the same, just different limits.
When you have a button in a response, and the user clicks that button, the button text is returned as their response.
So if the user click your "Cathars" button "Cathars" would be the user's question sent to the bot.
You then need a response for that question, so in AIML this would be a pattern for "Cathars" with the template of the response.
Be careful using topics, as when a topic is not active in AIML, its responses will not be used. Topics can only be made active in AIML using the "set" tag.
If you use a response list instead of AIML, then you can set a topic just by setting the topic of the response, and topics can be either required, or optional.
For more info on buttons, see,