1. Handler позволяет выполнять отложенные во времени задачи. Не является планировщиком задач в чистом виде, т.к. работает на уровне процесса приложения, а не операционной системы. Если приложение остановлено, код, зашедуленный через Handler не будет выполнен.

2. AlarmManager запускает запланированные операции даже если приложение остановлено. В качестве операций используются PendingIntents.
AlarmManager доступен с API v1, но по умолчанию не работает в Doze Mode. Для работы в Doze Mode используется метод setAndAllowWhileIdle(). Этот метод доступен с API v23.

3. JobScheduler позволяет работать в Doze Mode и доступен с API v21.
Система группирует задачи, запланированные через JobScheduler. Когда появляется окно в Doze Mode, выполняется сразу несколько задач. Этот подход бережет батарейку устройства.

4. GCMNetworkManager и Firebase JobDispatcher – это библиотеки, разработанные Google. Являются своеобразными бэкпортами JobScheduler. Обе библиотеки требуют установленных на устройстве Google Play Services.
На данный момент обе библиотеки deprecated. Firebase JobDispatcher не поддерживается с 7 апреля 2020, а поддержка GCMNetworkManager будет остановлена 1 ноября 2020.

5. WorkManager – библиотека из Android Jetpack. WorkManager работает начиная с API v14. Google рекомендует использовать WorkManager вместо решений, разработанных ранее.
Под капотом WorkManager использует JobScheduler на устройствах с API v23+. На версиях API 14 - 22 используется GCMNetworkManager или AlarmManager.