Well if you look in the remotes editor theres a "Variables" tab , in there are all your global variables ( %var ) there are also local variables ( Read the mIRC help files about both and thier usage ). When you make each possible bad word a variable it is added to the Variables section of the Remotes editor( %fword %sword and so on ), and that can be a lot after a while.
A hash table is a file of sorts that is stored in the ram for quick recovery .... while mIRC is running. With a hash table it will compare input to the entries in the hash table and if the hash table has a matching text to what was typed it will then take the action you have set.
Hash Table Tutorial There is a link to a downloadable hash table tutorial that might help a little.