Basically, spec_funcs are special actions for your mobs to perform. For instance, there is a spec_cast_adept spec_func that has a random chance of casting various heal type spells on anyone in the room with them.
Similarly, characters that cast spells in combat are often given spec_cast_mage (I think thats the name, anyway).
You can see the list of them in mspecial.h whilst the code for them is contained in mspecial.c
If this doesn't answer your question, feel free to ask some more