Inheritance is a mechanism where a derived class extends a base class without modifying it, creating hierarchical relationships. There are different types of inheritance including single, multi-level, multiple, hierarchical, and hybrid. Visibility modes like private, protected, and public determine which members are inherited from the base class. Multilevel inheritance involves deriving a class from a derived class, while multiple inheritance allows a class to inherit from more than one base class. Hybrid inheritance combines different inheritance types, such as hierarchical and multiple inheritance.