Acredito que a grande questão aqui é a acessibilidade. Eu também já tentei fazer menus dropdown com CSS, mas a acessibilidade sempre fica comprometida.
É sempre bom a gente testar a navegação por teclado, dentre outras coisas, quando vamos criar um componente.
Depois que eu vi esse vídeo aqui, fiquei impressionado com a quantidade de detalhes que precisam ser considerados ao criar um dropdown. https://www.youtube.com/watch?v=pcMYcjtWwVI