Eu já trabalhei com os dois, e na minha opinião, vai depender do projeto que você está trabalhando.
Se você está em um projeto rápido e pequeno, o bootstrap é melhor, porquê ele tem vários componentes prontos com JS e tudo mais. A desvantagem é que os layouts são bem "padrões", então se quiser um visual diferente, vai ter que usar CSS também.
Por outro lado, se você está trabalhando em um projeto maior e que precisa de um visual mais elaborado, o Tailwind é melhor.
Quanto ao HTML sujo, na minha opinião, não é um problema, desde que você tenha uma arquitetura bem planejada. O componente pode ter 50 classes CSS, se precisar, se o componente tiver bem feito e bem estruturado, não vai ser um problema.