In object modeling, one shouldn't use inheritance for people and their roles. One should instead model them with two associated objects. That is, using composition instead of inheritance.
So in a way, of three alternatives, your discussing the two wrong ones: inheritance and interfaces for modeling parties and roles.
A class is a template for a set of objects. Those objects have behavior, (and typically) state and characteristics. In regards to behavior, each object has an (implicit) interface already: the set of methods that can be externally called on it.
The question then becomes, why should you create a named interface, a subset of the interface already provided by an object?
- One wants to represent a subset of behavior so different classes of objects can be treated polymorphically.
- One wants to constrain the possible behavior of an object exposed to another, to a subset of its (implicit) interface because the object is acting in a different context.