The concept of hooks is explained in brief in the hooks section of the developer documentation. A summary definition is that a hook is a specially formed PHP function in a Drupal module that lets you interact with various other parts of Drupal and Ubercart.
Of the available hooks, the one we recommend for a majority of customizations is hook_form_alter(). It lets you change the fields on any form, alter the way they're displayed, and add validation and submission functions. Since most of Ubercart is pages with forms (products, cart, checkout, order admin, etc.), this hook is extremely useful in a variety of situations.
The best way to learn is to check out examples and toy with this yourself. For a simple introduction, I recommend looking at TR's tutorial on the topic. After that, consult other modules for more examples, and then get to coding!

