An interface defines a public contract for an object. I often use protected (in Java) abstract methods when using the template pattern because I don't want outside callers to be able to call the method.
There are possibly cases where you might not want an interface. What if you had something like
abstract class MyClass {
someConreteMethod() { ... }
abstract someAbstractMethod();
}
Maybe you only want implementations of MyClass
to extend the abstract MyClass
In general, I don't frequently use public abstract methods, but having non-public ones is much more common.