Quand utiliser IComparable <T> Vs. IComparer <T>

J'essaie de déterminer laquelle de ces interfaces je dois implémenter. Ils font tous deux essentiellement la même chose. Quand est-ce que j'utiliserais l'un sur