Satellite assemblies contain culture-specific resources such as translated strings, images, or other localized content. They are compiled separately from the main assembly and are automatically loaded by the CLR based on the current thread's UI culture setting, allowing applications to support multiple languages without duplicating code.