Depende muito de linguagem a ser utilizada e o contexto. Um linked list hoje em dia é para casos muito especifíco.
Linguagens como Rust temos diversos tipos de estruturas como array, vectors e tuples. Elas se comportam de maneira semelhante, mas cada uma tem seus próprios trade-offs.
Tua estrutura garante operações em O(1)?
Nem todas as estruturas garantem isso. Eu mesmo nunca vi nenhuma que garante isso para todas as operações na estrutura. Sempre há um trade-off.
JavaScript não possui deques e nem filas de prioridade, mas possui sets e maps; mas no geral todas as linguagens modernas utilizam estruturas parecidas.
É só implementar quando necessário. Não são estruturas difícieis de implementar e dependendo do caso, justifica uma complexidade a mais para ter um produto mais otimizado. Maps e Sets são estruturas mais complexas que não substitutem outras.
O post parece misturar algoritmos com estrutura de dados e tangenciado o uso massivo do array. Uso esse que é problemático dependendo do contexto.
Em JavaScript só temos array. Para quem usa JavaScript otimização não é prioridade senão nem estava utilizando JavaScript para começar. É bom colocar na cabeça que, por mais que JavaScript seja lento, para nós, humanos, ainda é bem rápido (até o sistema escalar demais).
A estrutura correta depende fortemente da aplicação e do contexto. Porém eu acredito que o post foi direcionado ao hábito de usar a mesma coisa porque sim. Isto de fato, é um problema crítico para qualquer devs (que eu mesmo já passei).