Subtypes are an ESRI data structure for ArcGIS. Subtypes are a subset of features in a feature class, or objects in a table, that share the same attributes. They are used as a method to categorize your data.
From ESRI documentation:
Subtypes are a classification mechanism in ESRI's ArcGIS suite of products. They are somewhat analogous to a built-in lookup table that stores classification of feature classes in attribute table fields.
The domain is a method of constricting the input values of the subtype. It constrains valid inputs for the subtype to a finite amount of values. Domains are usually in an abbreviated or numerical format like in the above diagram.