Technically, “that” and “which” are interchangeable. However, there is a difference between the two and a good English speaker should know it! Here is the trick:
That should be used to introduce a restrictive clause.
Which should be used to introduce a non-restrictive or parenthetical clause.
Probably, your are now wondering what the hell is a restrictive/non-restrictive clause 🙂 Well, it’s quite simple, a restrictive clause is one which is essential to the meaning of a sentence – if it’s removed, the meaning of the sentence will change, a non-restrictive clause can be left out without changing the meaning of a sentence. Non-restrictive clauses are either in brackets or have a comma before and after them. Compare the examples:
My bike that is red is very old.
My bike, which is red, is very old.
It is common today for which to be used with both non-restrictive and restrictive clauses, especially in informal contexts. It is, however, incorrect even in informal contexts to use that for a non-restrictive or parenthetical clause.