Intents allow communication between components in Android. They can be explicit, naming a specific component, or implicit, specifying an action for Android to resolve. Intents can share data between components via extras. Components declare intent filters to specify the intents they can handle. Developers can define intents to reuse functionality from other apps or expose functionality to other apps. Intents are a core part of Android that enable reuse and interoperability.