The configuration API provides a central place for modules to store configuration data. This data can be simple configuration like your site name, or more complex information managed with configuration entities, such as views and content types.
Configuration is a place to store information that you would want to synchronize from development to production. This information is often created during site building and is not typically generated by regular users during normal site operation. The configuration API comes in two flavours - the (simple) Config API and the Configuration Entity API. The key difference is that the Config API is the singleton usecase. A singleton is where there can be only a single instance of this configuration. A good example would be the site's name. The Configuration Entity API should be used to store multiple sets of configuration - for example node types, views, vocabularies, and fields.