Android intents allow communication between application components like activities, services, and content providers. There are two main types of intents - implicit intents do not specify the component and rely on available system components, while explicit intents directly specify the component class. Intents are commonly used to start activities, services, display web pages or contacts, and broadcast messages. The example shows using an implicit intent to launch a web browser and explicit intents to start one activity from another and pass data between activities.