Inheritance allows code reuse but can lead to inflexible and complex hierarchies.
While inheritance promotes code reuse, it often results in complex class hierarchies that are hard to maintain and extend. A 'NotificationService' using inheritance for email, SMS, and push notifications can become unwieldy if new notification types are added.