There are many uses of RelativeSource with WPF bindings, here are the main ones:
To bind to another property on the object
{Binding Path=PathToProperty, RelativeSource={RelativeSource Self}}
To get a property on an ancestor
{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type typeOfAncestor}}}
To get a property on the templated parent
{Binding Path=PathToProperty, RelativeSource={RelativeSource TemplatedParent}}