Inheritance allows one class to inherit properties and behaviors from another base class. There are two main types of inheritance: implementation inheritance, where a derived class takes on all members of the base class; and interface inheritance, where a derived class inherits only function signatures without implementations. Key aspects of inheritance in C# include defining virtual methods that can be overridden, using modifiers like sealed to restrict inheritance, and implementing interfaces that define common behaviors without implementations.