A content-type is essentially a collection of meta-data. It is a definition that encapsulates all the information that you want to store for a particular set of items. When you define a content-type, the meta-data that you want to store are known as 'columns'/'fields'. These are fields that somehow relate to the type of item you are inserting into SharePoint. Content Types are unique, but different Content Types can share the same columns/fields. (ie. each content type can use the 'Title' column to define an items title)
For example: Let's say you want to store a list of all your companies patents in SharePoint. In SharePoint you would create a content type called 'PatentDocsCT', and in that content-type you would create 'Patent-Title', 'Patent #', 'Expiry Date', and 'Status' fields. So whenever you upload the patent document, you also enter its title, number, expiry date, and the patent's status.
All patents will have the same customizable meta-data, because they all are of the same content-type.