Without using $t$ as the text for the button, how do you even *see* the button, since it uses class="tc-btn-invisible" so that there is no button border or fill and only the text is shown.
In terms of "how it works"":
The <<b>> macro uses the technique described in the RevealWidget documentation on how to create a "slider" button.
The number param that you pass to it is used to construct the name of a "state tracking" tiddler that starts with "$:/state/" so that it is hidden from normal view (i.e., it won't appear in the sidebar, except in the "more>system" tab).
If the state tiddler does not contain the text "show" (or the tiddler doesn't exist), then the <<b>> macro outputs a button that creates the tiddler and sets the text to "show". However, if the state tiddler already exists and contains "show", then the <<b>> macro output the a button that deletes the state tiddler.
Thus, <<b 1>> creates a single button that *toggles* the existence (and content) of $:/state/1.
Then, by writing
<$reveal type="match" text="show" state="$:/state/1"> your content goes here </$reveal>
you can use the <<b 1>> button to toggle the display of that content.
As you can see from the example I provided, you can nest the <$reveal>...</$reveal> as many levels deep as you need, as long as each has it's own corresponding $:/state/N tiddler and a button to toggle it.
Hope this explanation helps,