Сервис: если вы хотите что-то сделать в фоновом режиме, он будет работать всегда в фоновом режиме, даже если приложение закрыто. Вы можете создать это в отдельном процессе, а также вы можете передать свой сервис другому приложению, если хотите. Загрузка любого контента или музыки - хороший пример
Broadcast Reciever: Обычно система отправляет некоторую информацию, которая может быть получена вашим приложением, если вы захотите, путем регистрации. И вы можете делать то, что хотите, когда это происходит, используя метод onReceive.
Например, система отправит BroadcastReceiver, когда придет новое смс или завершится загрузка
Вот хорошая статья: Служба и BroadcastReceiver