Now that's a tough one. Here's a standard explanation: "That" is used to indicate a specific object, item, person, condition, etc., while "which" is used to add information to objects, items, people, situations, etc. Because "which" indicates a non-restrictive (optional) clause, it is usually set off by commas before "which" and at the end of the clause.
In addition, I do know that sentences can and are constructed with both words in succession, for example:
That which made it possible for her was finally recognized.
That which made old age enviable was eventually achieved.
That which is disposable should always be binned.