Ответ 1
Executor просто выполняет то, что вы ему даете.
ExecutorService добавляет запуск, завершение работы и возможность ждать и просматривать состояние заданий, которые вы отправили для выполнения на верхней части Исполнителя (который он расширяет).