Typically you just follow the PHP code that is near that hook, in which ever PHP file it is in.
So for example if you have a hook like this:
PHP Code:
<?php
// ...
// ...
if($_REQUEST['do'] == 'savedata')
{
// ...
($hook = vBulletinHook::fetch_hook('unique_hook_id')) ? eval($hook) : false;
// ...
}
//....
?>
You then know that hook is executed when that PHP file is "saving data".
Trial and error is the only way to start really, as you get used to vBulletin you can instinctively start going to places you know where code is executed. It is always good to keep the PHP file that the hook is located in, open when you are developing plugins.