Product flavors
As opposed to build types, which are used to configure several different builds of the same app or library, product flavors are used to create different versions of the same app. The typical example is an app that has a free and a paid version. Another common scenario is an agency that builds apps that have the same functionality for several clients, where only the branding changes. This is very common in the taxi industry or with banking apps, where one company creates an app that can be reused for all clients in the same category. The only things that change are the main colors, the logo, and the URL of the backend. Product flavors greatly simplify the process of having different versions of an app based on the same code.
If you are unsure whether you need a new build type, or a new product flavor, you should ask yourself if you want to create a new build of the same app for internal use, or a new APK to publish to Google Play. If you need an entirely new app that needs...