How many times you do that in real project? Or have you ever done that in your career? And if a project needs substantial redesign it is usually acompanied by the functionality change, which means you need defferent html/components too, so you still can`t just swap css files.
+1 on this for "real projects" that actually do use different styles.
Our enterprise e-commerce platform uses an internally maintained design system with utility classes only, very similar to tailwindcss.
We have 15 different "brands", so simply reference a different "brand" to get it's unique styling, while the utility classes all remain the same.
I have done this a few times for large parts of a projects.
Much more common, however, is overriding styles at the component level, which gets funky with this approach.
You either have to add JavaScript logic to assemble the appropriate class names or you wind up with a situation where elements have classes that conflict with their styles, because they are overridden. Imagine something with .text-purple, where the text is clearly not purple.