Most UI kits let you pass any style as a prop — radius, size, color, or a wall of Tailwind classes, whatever you need. That flexibility is exactly the problem: it turns every component call into a one-off styling decision, and no two buttons end up the same. Let's talk about practices that prevent building an inconsistent, unmaintainable code base that won't scale.
Eh, if you’re using React or any other modern app framework (or “library” as they call themselves) then Tailwind classes are nicer for co-locating styles with their respective components. Vue lets you co-locate the actual style block, but even that’s not as nice as seeing the styles directly on the elements themselves. There are still uses for global-level CSS of course, but there’s no “central” place for those besides the html tag.