[found on writetothepoint.com; by Gary Kinder]
“The difference between “that” and “which” might be the most confounding piece of grammar in the English language, but it doesn’t have to be. Here’s what you need to know: Grammarians call the words following a “that” or a “which” a “relative clause.” That relative clause either “restricts” (I like the word “distinguishes” better, but grammar texts have long called the word “that” “restrictive”) what it modifies, or it “does not restrict” what it modifies. The writer tells us which it is by the word he chooses to introduce the clause.
“That” at the beginning restricts; it means that the writer wants the relative clause to distinguish one thing from a universe of like things. “Which” at the beginning means the writer addresses only one thing, and he simply wants to add information.”