That: Should be utilized restrictively to narrow a category or determine a specific item being discussed.

Example: -This may be the house that Jack built.

-There are a lot of grammar mistakes that produce you look bad.

Which: Should be used non-restrictively. Not to narrow a class or identify a specific item but to include something about something already identified. Almost always preceded by a comma, a parenthesis, or a dash.

Example: -This is the house that Jack built, which he later on sold.

-Jill received an excellent grade on her behalf paper, which she desperately had a need to pass the class.

Exception: Which  ought to be used restrictively only when it is preceded by a
preposition.

Example: -The room where he ate his dinner.