Strongly typed enums, introduced in C++11, provide a more robust enumeration type with scoped visibility and type safety, addressing limitations of traditional enums. They prevent implicit conversions to integers and allow defining the underlying type, enhancing code clarity and reducing errors in complex systems.