If you've used features, you'll likely noticed that adding one thing will automatically add other items. The items added are sometimes dependencies (e.g. adding a view will automatically add dependency for 'views'), but other times it'll be additional items (e.g. adding a blog adds the blog fields.). However other items, like settings added to the content type form won't be, which often surprises the newer feature builder. This is because features, or modules hooking in, need to automatically tell the feature to add any component.
It does these through a series of hook.