Drupal defines a content type as a “pre-defined collection of data types (fields) which relate to each other by an informational context.” To put this simply, a content type is any content element on your site that requires its own unique fields and display, based on its purpose and the kind of content it contains.
Another way to understand it is with the Tupperware analogy. Imagine each content type is a Tupperware box, some may be large, some may be small, some may have many compartments like a bento box, and some may only have one or two compartments. Now imagine each compartment is a field that you fill in, for example, the date, the name of an event, or an image file. Once your Tupperware/content type is built, it acts as a mold and can easily be re-used to ensure consistency.