Flavors allow building an app for different environments like development and production by configuring variables like API endpoints differently for each flavor. To use flavors, create separate "dev" and "prod" build schemes, duplicate the debug, release, and profile configurations for the dev scheme, and assign the correct configurations to each scheme so the development version points to dev APIs and the production version uses production APIs.