As we all now metadata is nothing but data about data. Salesforce Custom metadata type is customizable, deployable, packageable and upgradeable application metadata. It enables us to use records to configure the app without worrying about migrating those records to other organizations. Now we can customize, deploy, package, and upgrade application metadata that we design our self.
This is similar to the usage of XML configuration files in .NET/Java programming
Mappings— Custom metadata types can be used to create associations between different entities i.e. Key-Value pairs. e.g. We can create a custom metadata type that assigns cities to states in a country.
Business rules—Business rules can be defined by combining configuration records with custom functionality. e.g. We can use custom metadata types along with some Apex code to route payments to the correct endpoint.
Master data—We can create a custom metadata type that stores master data like countries and telephone codes. If we include this type as part of an extension package, subscriber orgs can reference this master data.
Custom metadata type is surely going to make developers' life a lot easier than it was before.