Inheritance can lead to tight coupling and fragile hierarchies.
Common pitfalls of inheritance include creating tightly coupled systems where changes in a superclass affect subclasses, and inheritance hierarchies that are difficult to extend. For instance, using inheritance to model 'PaymentGateway' types can result in duplicated code if gateways share functionality.