/ - specifies a shallow find, only searches immediate children.
// - doing a double slash specifies a deep find. Searches not only immediate children, but also children of childrens.
.. - lets you select the parent, very useful when you want to work with tables. Say you want to select a radio button on the same row as some text, you can do //td[text()='target text']/..//input[@type='radio'], this will first select the text, then select it's parent which is probably a <tr> tag, then select the radio button on that row.
text() - with put within the , specifies selecting by text.
@ - use @ to denote attributes. Like @type='radio' to select radio buttons.
contains() - there are a few standard xpath functions. The contains() is probably the most used. You can use it like contains(text(), 'click me'), or say an attribute contains(@id, '511').