Inheritance allows classes to extend existing classes, reusing and building upon their attributes and behaviors. This supports polymorphism by allowing parent and child classes to be treated the same when interacting with their common attributes and methods. Well-known inheritance hierarchies include shapes (like rectangles and circles) inheriting from a parent shape class, or employees inheriting from a main employee class. Inheritance promotes code reuse and flexibility.