Although similar in nature to a database table and a custom object in Salesforce CRM, custom metadata types differ in that they are specifically used to store configuration data and not record data.
Custom metadata types are typically used to define application configurations within setup objects whose records are metadata rather than data, and they enable you to deploy the configuration data between Salesforce CRM instances.
Custom Labels, Hierarchy Custom Settings, and Custom metadata types can be used to avoid hardcoding record IDs in formulas, Process Builder, and Workflow Rules. Hardcoding IDs makes it difficult to maintain and manage changes over time and can introduce risk and complexity for future changes.
Let's see how we can build formulas in the next section.