To quote from Schmoo, from
http://www.ask-public.com/ld/393/ - According to _Woe is I_ (an awesome grammar book!), the difference is this: If you can drop the clause that "that" or "which" begins with and the sentence still makes sense, use "which." If you need the clause to have the whole sentence make sense, use "that." For example, "Nobody likes a dog that bites." 'That' is correct here; without its clause, the sentence would simply say, "Nobody likes a dog," and the sentence loses its meaning. However, in the sentence "Buster's bulldog, which had one white ear, won best in show," you can drop the "which" clause and still get the main gist of the sentence: "Buster's bulldog won best in show." Also, commas precede a which, but not a that."