get_template_part and template file names

Codex has very decent explanation of get_template_part() logic:

Assuming the theme folder is
wp-content/themes, that the parent
theme is twentyten, and the child
theme is twentytenchild, then the
following code —

<?php get_template_part( 'loop', 'index' ); ?>

will do a PHP require() for the named
files in this order:

  1. wp-content/themes/twentytenchild/loop-index.php

  2. wp-content/themes/twentytenchild/loop.php

  3. wp-content/themes/twentyten/loop-index.php

  4. wp-content/themes/twentyten/loop.php

Basically you can have more generic templates and more specialized templates. Specialized template is looked up before generic. That is pretty much everything about it.