Related to this question (Use wp init hook to call other hooks?) but not the same.
Sometimes, I found that the hook will failed to run when I place inside the init hook, e.g.
Not Work:
add_action('init','my_init');
function my_init() {
add_filter('locale', ...
}
Work:
add_action('init','my_init');
add_filter('locale', ...
Of course some hooks/filters will just work okay inside the init hook, but definitely not all of them.
So it seems to me that it is a bad practice to chain actions/filters together?