I fully agree with the above answers, but I'll try to explain it without the grammar terminology. :)
Basically, a relative clause gives extra information about a thing. You'll see it clearly in the above examples. To introduce this information, you normally use that/which/where/who/when/whose/why - it'll be pretty obvious which one you need. ;)
Between "which" and "that"... if the extra information is vital to the sentence, that is, the meaning is lost or it changes without this information, then you use "that" (=defining relative clause).
If you can cut out the information without affecting the sense or meaning of the sentence, ie. the extra information is optional, use "which" (=non-defining relative clause). Use commas here.
If the sentence can flow smoothly without the introductory word (that, which, etc), then you can cut it out as well. To use Randy's example: "I love the present you bought for me."
Have a play with the relative clauses here: