Components are groups of fields you can add to your content types. A component can be used as single element of a content type, or repeated. For example, an address component is a set of text fields for capturing someone's house number, street name, county, postcode, country, and so on. So, your content type could contain a single address component, or it could use multiple addresses when assigned to a composer field.
Think of components as a set of pre-defined fields that help keep your input types consistent across multiple content types.
As an example, a social component may contain the fields required to generate open graph metadata such as title, description, image, and author. Components are created using the component builder.