It's all about the comma. Consider the following sentences:
1."Companies that cause oil spills should pay up"
2. "Companies, which cause oil spills, should pay up"
Sentence one is known as a defining sentence. It is defining which companies should be held accountable for oil spills, ie, those that cause them.
Sentence two is a non-defining sentence. ie, the subordinate clause implies that ALL companies cause oil spills and therefore ALL companies should be held accountable.
In the case of sentence one, either "that" or "which" is acceptable, and often comes down to sonority, gut reaction and how conversant you are with the english language.
In the case of the second sentence, "which" is the only correct option.
So the short of it is, no commas (defining sentence) use "that" OR "which". Commas (non-defining sentence) use "which".
clear as mud?
