Thread (нить, поток) - представляет собой инкапсуляцию потока процессора. Это программная обертка над функционалом вашей системы. Task (задача) - представляет собой единицу работы, которая может быть выполнена параллельно. Использование того или иного инструмента зависит от Ваших задач. Например, если Вам в фоновом режиме надо выполнять операции - Ваш выбор это поток. Если Вам нужно параллельно выполнить вычисления или дождаться выполнения асинхронной операции (например ввода-вывода), то Ваш выбор - задача.