Subtype polymorphism, a core principle of object-oriented programming, allows objects of different subclasses to be treated as objects of a common superclass. This enables flexible and reusable code, as functions can operate on objects of different types through a uniform interface provided by the superclass.