alguém sabe me dizer porquê?

Não sei dizer o motivo exato, então só posso especular.

Talvez seja por desconhecimento. As pessoas aprendem a usar arrays e objetos, e acham que é o suficiente (pois de fato "funcionam" pra maioria dos casos).

Talvez seja por não ter syntax sugars que deixariam o seu uso mais conveniente. Por exemplo, no Map tenho que fazer map.get(1), enquanto no array posso fazer array[1]. Mais ainda, tenho que fazer map.get('abc') enquanto que em um objeto posso fazer obj.abc. Para criar um objeto posso fazer obj = { nome: 'Fulano', idade: 42 }, com o Map tenho que fazer map = new Map([['nome', 'Fulano'], ['idade', 42]]). Claro que isso não deveria ser desculpa para não usar, mas acredito que a "preguiça" é um fator que influencia.

Enfim, que bom que vc os descobriu, eles são úteis sim. De forma geral, cada estrutura de dados possui prós e contras, casos em que é melhor que as outras, etc. O importante é saber que elas existem e em quais casos cada uma é a mais adequada.

Leitura complementar: https://javascript.info/map-set