Perhaps it's just me, but I've always found the that/which distinction fairly clear and relevant. Consider the following two sentences:
1. Don't eat the apples, which are rotten.
2. Don't eat the apples that are rotten.
To me, the first one indicates that all the apples are rotten, whereas the second only suggests that some are bad and directs me to be choosy.
Of course, I know better than to assume that everyone follows this rule to the letter, but I do make an effort to get it right myself (like a good protocol implementor: liberal with input, strict with output).