What are functions that start with 'hook' used for? I understand how to use hooks (mymodule_HOOKNAME()) but what are functions used for that actually start with hook?
Ex: hook_action_info()

When I am creating custom hooks I normally just use: module_invoke('MODULE', 'HOOK_NAME').
hook_action_info and other functions that begin with hook_ exist only to document the contract between the caller of the hook and the module that implements it.