You speak of these interfaces as if they are methods. They are not. They are interfaces that encapsulate the same idea but in a subtly different way. A class is made to implement the Comparable interface if it has a natural way of ordering itself, for instance if you had a class to hold student information and if you would typically order this information based on the student's name, then you would make the class Comparable and have the compareTo method of the object compare last names followed by first names (if last names were equal). If on the other hand you had a class of Student information, but would typically order this in many different ways -- name, or grade, or student ID number, perhaps, then you would create separate Comparator classes (these are helper classes) that define each ordering that may be needed. Then when you wish to sort your listed Student information, you'd use an appropriate Comparator helper object in your call to the sort method.
Also note how the compareTo vs compare methods are different in that one has one parameter and the other has two.