Well they are not quite the same thing as
IComparer<T> is implemented on a type that is capable of comparing two different objects while
IComparable<T> is implemented on types that are able to compare themselves with other instances of the same type.
I tend to use
IComparable<T> for times when I need to know how another instance relates to
IComparer<T> is useful for sorting collections as the
IComparer<T> stands outside of the comparison.