Все три — пакетные менеджеры для Node.js. npm — стандартный, идёт с Node.js. Yarn создан Facebook для решения проблем ранних версий npm (скорость, детерминизм). pnpm экономит место на диске через hardlinks — один пакет хранится глобально и линкуется в node_modules. По скорости: pnpm > yarn > npm. У всех есть lockfile для детерминизма. Yarn имеет workspaces для монорепо, pnpm тоже. Для большинства проектов разницы нет — выбирай то, что принято в команде.