at would be a bug, though!
Anyway, hooks are "places" in the code where functions defined by addons (or by the "core") can be run to extend functionalities.
For example, let's take: integrate_general_mod_settings
If you search the code, you'l find:
call_integration_hook('integrate_general_mod_settings', array(&$config_vars));
in AddonsSettings.controller.php.
What does that mean?
It means that every time the code hits that point, any function "attached" to the "integrate_general_mod_settings" hook will be called passing the variable $config_vars (by reference).
How are functions "attached" to a certain hook?
Two ways:
<hook hook="hook_name" file="SOURCEDIR/my_file_to_include.php" function="my_function_to_call" />
in package-info.xml, or calling something like:
add_integration_function('hook_name', 'my_function_to_call', 'SOURCEDIR/my_file_to_include.php');
the fist is simply an alternative way to call the second method.
These will add or update an entry in the {db_prefix}settings table adding the relevant data to let Elk know there is a function to call at a certain point in the code.
In 1.1 I also added another way to extend Elk, the things I called "events".
More stuff:
http://www.elkarte.net/community/index.php?topic=2192.0
http://www.elkarte.net/community/index.php?topic=831.msg16689#msg16689 (and following)
Maybe there is more... for sure it should be consolidated on the wiki or something...