Using views to display content based on taxonomy terms?
Drupal Views can easily do this :)


Create your view and call it "example", and for this example, put Node Title in the Fields.
Add in an argument.  Here select Taxonomy: Term ID.
In "Action to take if argument is not present:" select "Provide Default Argument" 
There, select "Taxonomy Term ID from URL" and then click "Load default argument from node page, thats good for related taxonomy blocks" and if you want, you can also limit it to specific vocabulary(ies) by clicking "Limit terms by vocabulary" and clicking on the one(s) you want.
Create a "Block Display" and save everything.
Goto your Site Building/Block Admin Page and look for "Views: example" and put it in a region of your theme.


Now, if all is well in the world, that block will appear and will display the titles of all nodes that also have the same taxonomy term as the node it is displayed on.  Of course, you will probably want this block displayed only on certain pages, but you can do that in your block UI as well.  And of course you'll also probably want to be fancier than just the node title, etc, but there you would include the fields in the specific nodes, etc.

ADDITION:

This is what I see here for a taxonomy term id argument with D6 and Views3:



UGLY SOLUTION:

I was sure there would be a solution to this using just Views, but I can't figure it out for the life of me.  Grrrr, I hope someone out there says Duh, this is how you do it. But, if you have the PHP Input Filter enabled, you can create a block that will do this instead of creating a custom module.  The PHP Input Filter is UGLY.  It should be killed with that dull ax I often use, but here goes:

Add a new block via the blocks UI with this as the block body:

&lt;?php

$node=menu_get_object();

if (isset($node-&gt;type) &amp;&amp; $node-&gt;type=='Faculty') {

  $vid = db_result(db_query('SELECT vid FROM {vocabulary} WHERE name = "Expertise"'));

  if (!empty($node-&gt;taxonomy)) {
    foreach($node-&gt;taxonomy as $term) {
      if ($term-&gt;vid == $vid) {
         print '&lt;div class="expertise-name"&gt;' . $term-&gt;name . '&lt;/div&gt;';
         print '&lt;div class="experts"&gt;' . views_embed_view('faculty_expertise_test2', 'default', $term-&gt;tid) . '&lt;/div&gt;';
      }
    }
  }

}

?&gt;


Make sure you select PHP Code as the Input Filter.  Select a Block description and title and save the block.  Place it in whatever region you want.  Cross fingers and see what happens :) Basically all this does is loop through all taxonomy terms of your Expertise vocabulary in the node shown and then calls the view with that argument. I think I have everything capitalized correctly from your examples, but the key things to customize about are Faculty, Expertise and faculty_expertise_test2, which are your node type, vocabulary and view.  If all works, then it's up to you to CSS things to your liking.  Hope this helps!

PS
I just realized that the view will most probably return the faculty member her/himself but that can be dealt with another day :)