UI component libraries fall into two categories — styled systems (MUI, Chakra) ship complete designs out of the box, while headless primitives (Radix, Headless UI) provide accessible behavior without opinions on styling, and shadcn/ui bridges the gap with copy-paste Radix+Tailwind components you own.