Primeiro:
O ponto não é que Tailwind seja inerentemente mais fácil de dar manutenção, mas que ele resolve dois problemas recorrentes em times grandes:
-
CSS morto — com purge, o que não é usado simplesmente não vai parar na build. No CSS tradicional, ninguém tem coragem de deletar classes por medo de quebrar páginas que você não sabe que existem.
-
Consistência — times grandes tendem a criar variações ad-hoc ("preciso de um padding de 13px aqui"). Tailwind força o uso de um sistema de design predefinido, reduzindo a entropia visual.
Segundo:
Nos projetos que uso, a regra é simples — componentes de UI (botões, inputs, cards) usam Tailwind diretamente. Páginas e seções compostas usam esses componentes. Nunca abstraio utilitários com @apply porque isso recria o problema do CSS tradicional só que com sintaxe pior. O "poluição" fica contida dentro do arquivo do componente, que é o único lugar onde aquele estilo importa.