Originally in WordPress, there was only one kind of theme, what would today be called a “parent theme.” This was a complete package of files that included everything necessary to display and organize content on a WordPress website.
Today, however, WordPress now includes the ability to create a child theme. Just as the name implies, the child theme is a subset of the parent theme but with some differences. For example, if you have a parent theme that you like but want to try some customized styling, you can create a child theme. The only information in the child theme would be the styling information as all of the rest of the information is contained in the parent theme.
In essence, a child theme is simply a copy of a parent theme that you can then modify without having to worry about affecting the parent theme. For example, if you have downloaded someone else’s (parent) theme and like it but just want to make a few changes, you could create a child theme to make the changes without having to create a brand-new theme from scratch.
Parent themes are not the same as theme frameworks, which include code libraries and other files relating to the core functionality of the theme. Child themes are primarily used to add customized styling that is beyond what CSS can do but still use the parent theme’s theme framework.
If you are very conversant in PHP and want to make substantial changes to an existing theme, use a theme framework to build your child theme. Otherwise, it’s best to stick to using child themes to make advanced style changes to an existing parent theme.