For a button alone, that means thinking through states (default, hover, focus, disabled), types (primary, secondary, ghost, destructive), sizes, and icon choice, and so on. Multiplied across every component, it adds up to a system that covers real use cases rather than ideal ones.