MainThread - звичайний запуск сервісу, виконується в одному потоці і процесі з UI потоком. NewThreadService - створює свій поток, як аналог можна запустити звичайний сервіс і в ньому створити AsyncTask NewProcesService - створює свій процес, можна побачити змінивши новий створений процес в Android Monitor
Є ще один варіант роботи з сервісом, з допомогою startForeground(Notification not), тоді ми можемо закривати наш додаток, а сервіс буде далі працювати.
https://developer.android.com/guide/components/services.html?hl=ru
З офіційної документації: Внимание! Служба работает в основном потоке ведущего процесса — служба не создает своего потока и не выполняется в отдельном процессе (если вы не указали иное). Это означает, что если ваша служба собирается выполнять любую работу с высокой нагрузкой ЦП или блокирующие операции (например, воспроизведение MP3 или сетевые операции), вы должны создать в службе новый поток для выполнения этой работы. Используя отдельный поток, вы снижаете риск возникновения ошибок «Приложение не отвечает», и основной поток приложения может отрабатывать взаимодействие пользователя с вашими операциями.