There's more on hashtables at https://en.wikichip.org/wiki/mirc/hash_tables

In a lot of ways, the /hadd item data command is to hashtables what /set %item data is for %variables
In a lot of ways, the $hget(table,item) command is to hashtables what accessing a variable named %item does
In a lot of ways, the /hdel item command is to hashtables what /unset %item is for %variables

Hashtables don't autosave to disk by themselves, so it's up to the script to decide when/if they should be written to disk

Hashtables are different than %variables because all global %variables are in effect located in the same global 'table' that should be saved to disk by itself.

There's several formats for hashtables to be written to disk, including 2 formats for saving binary data, including the -B option which can old variables up to 2^32-1 in length assuming mirc can handle them

When saving/loading disk data in the ini format, it defaults to using a [section] named Hashtable but you can override that to have several different sections all within the same file.

So, if you wish, you can keep everything in 1 table and 1 [section], or you can split them into a different table per channel etc.