equals () vs compareTo () en Comparator / able (teórico)

Yo no, entiendo Javadoc:

The natural ordering for a class C is said to be consistent with equals if and only if
  (e1.compareTo((Object)e2) == 0) has the same boolean value as e1.equals((Object)e2) for
  every e1 and e2 of class C.

¿Por qué debería ser así?

Entiendo que e1.equals (e2) = true siempre debe implicar e1.compareTo (e2) == 0, pero no puedo entender por qué lo contrario debe ser cierto. ¡La comparación no es la igualdad! 2 objetos iguales deben compararse con cero, pero 2 objetos diferentes deben poder compararse con 0 si los criterios de clasificación no son relevantes en su caso. Quiero decir, tener diferentes objetos igualando no es correcto, pero diferentes objetos con una comparación de 0 ¿por qué no?

EDITAR: Más tarde dice que la consistencia es muy recomendable, para algunos problemas de compatibilidad, y de ahí la pregunta

Respuestas a la pregunta(4)

Su respuesta a la pregunta