When talking about child themes, you first have to know about parent themes. A theme only becomes a parent when someone builds a child theme for it. Until then, it is just a normal theme, such as the ones you find in the WordPress directory. Any theme that includes all of the files required in order to be considered complete can be a parent theme.
What is a child theme, then? A child theme isn’t a standalone entity, but instead, one that modifies or adds to the files of an existing theme. It uses everything present in the parent theme and changes only those parts that you want to be different.
This allows you to alter styles, functions, layout, templates and more. In fact, you can customize the parent theme beyond recognition without touching any of the original files. However, without it being present, none of it will work.
I recommend using child themes whenever you want to make bigger changes to a WordPress site (bigger than, say, what can be achieved with 15 lines of CSS). It will keep your modifications from getting lost when you update the parent theme.