A child theme is a WordPress theme that inherits all functionality and styling from another theme (the parent) while letting you override specific parts. Custom code and template changes live in the child; the parent stays untouched and updatable. When the parent theme releases an update, your customizations survive, which is the entire point.
Without a child theme, edits made directly to a theme’s files are erased by its next update, a classic way inherited sites lose functionality mysteriously. With one, the parent updates freely while your customizations persist in their own folder.
Modern builders have reduced how often child themes are needed: Elementor’s Theme Builder and Gutenberg’s block themes handle most customization at a level above theme files. Where child themes still earn their keep is PHP-level customization: custom functions, template overrides, and integrations that belong in code rather than a builder.