Resource bundles are used to support internationalization (i18n) and externalize configuration parameters from code. They work by storing configurable key-value pairs in properties files that can be read at runtime. The document discusses how to create properties files, read values from them using the ResourceBundle class, and support multiple languages by creating localized properties files for different locales. It also explains the Locale class used to retrieve the correct localized properties file based on language, country, and variant settings.