Hooks can be thought of as internal Drupal events.
In Drupal, the theme layer is responsible for creating the HTML (or JSON, XML, etc.) that the browser will receive.
Content types in Drupal are derived from a single base type referred to as a node. Whether it’s a blog entry, a recipe, or even a project task, the underlying data structure is the same.