Acho que saber isso é o que diferencia devs bons de devs ruins.
Todo programa precisa de estruturas de dados: Armazenar uma lista de usuários, uma lista de favoritos, um dicionário de valores etc. Mas, qual é a vantagem de cada tipo de estrutura e porquê escolher entre uma ou outra?
A estrutura certa depende do que você quer. As estruturas tendem a cumprir quatro objetivos:
- Acesso
- Gravação
- Busca
- Exclusão
Algumas são mais rápidas em uns pontos, outras em outros. Não existe uma estrutura de dados que é boa em todos os 4 pontos. Por isso é importante saber estrutura de dados. Em algum momento você precisará de uma estrutura que tenha acesso rápido e busca rápida, e não se importará com gravação e exclusão tão rápidos assim.