if doesn’t compare anything, it receives a simple boolean value and we have to perform any comparing on our side. If we do if (x < 3) then comparing is not done by the if statement, but by our code.
Also, Comparable is meant mostly for sorting. It is more complicated than simple true/false value. It is not entirely required (although recommended) to be consistent with equals(). Technically speaking, it is possible it returns 0 for both true and false (meaning it is both true and false) or return e.g. 1 for both of them (neither true nor false).
Having said that, I see a need to sometimes use an object as a boolean, but I don’t think we should use Comparable for this - it is designed for something much different. I would prefer a specialized operator for this feature. Or even a generic operator for implicit conversion to various types, not only boolean.