И в плане того, что они делают и в плане структуры (файлы, папки).
Есть подозрение, что это одно и то же, просто называют по разному.
Вот к примеру когда устанавливал php на linux, после его установки нужно было установить стандартнй набор:
php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-zip
. И в нескольких инструкциях по установке php, все эти вещи из набора назывались по разному : пакетами, зависимостями, extensions и даже модулями.
Но это просто пример с php расширениями, а вообще я в разных языках програмирования встречаю эти понятия и путаюсь в данной терминологии.