1) logical types - abstraction layer hiding native database types; you can create your own types if you don't like what is distributed with DM. Two mapping definitions are used by the product: - Logical type to native type (used in DDL generation) and native type to logical type (used in import for certain database). User defined native types can be created - for DB versions not supported in DM.
2) Distinct type - another abstraction - such types exist in DB2 - kind of introduction of semantic on native database types (on logical types in DM). Doesn't restrict values in native type
Instead of using database native type Numeric you can have 2 new types Speed and Weight and use them for columns with related semantic
3) Domain - kind of semantic as in distinct types and also restricts possible values, so you are using logical type in domain definition and can define some constraints expressed as list of values, range of values or check constraint
4) Structured type - introduced in SQL99 - covers object relational features, some of them implemented in Oracle and DB2/UDB for LUW.
DM also uses them to represent definitions imported from Hive - Import from Hive and Oracle 12c External tables
5) collection types - as the name imply they are collection of types - VARRAY, nested tables
If you import OE sample schema then you'll get some examples of structured and collection types.