A Swedish friend asked me to explain the difference between which and that so I thought here might be a good place to do that.
This relatively easy grammatical rule has nothing to do with Americanisms or British English. Both can be used at the beginning of relative clauses (What your teacher in Swedish high school called: bisatser).
The Basics
Which can only refer back to inanimate objects, whereas that can refer back to a person or a thing.
Grammar Rule: which is used in non-defining clauses (ej nödvändiga bisatser).
E.g.
The M25, which takes some negotiating, is one of Britain’s major roads.
Macbeth, which was written by Shakespeare, is an example of the dramatic genre known as tragedy.
Note that these sentences make sense without the relative clause, i.e. it is a non-defining clause. You should also note that the relative clauses are always surrounded by commas.
If you take away the non-defining clause, remove the commas too so you end up with:
E.g.
Macbeth is an example of the dramatic genre known as tragedy.
Grammar Rule: That is used at the beginning of a defining clause (i.e.nödvändig bisats)
E.g.
The motorway that encircles London is the M25.
Macbeth is a play that Shakespeare wrote.
Note that these relative clauses are not enclosed in commas and that the sentences
would not make much sense without them.
General Rule
A defining relative clause (i.e. a that- clause) forms an integral part of the sentence and cannot be put within parentheses, whereas a non-defining relative clause (i.e. a which-clause) can be put within parentheses and its removal from the sentence would not make the sentence meaningless.

