The traditional approach to problem solving examines a current situation in isolation, ignoring the existence of previous experience. More recent analogical approaches look for previous, similar cases and attempt to infer further similarity from existing similarity. What has been overlooked is the power that identifying a disanalogy provides. Identifying disanalogies enables one to learn and reason by focusing on what is different between two similar situations, rather than on what is the same. This paper describes a technique called difference-based reasoning which exploits differences found between two otherwise identical situations to focus search and generate plausible hypotheses. The technique’s power and diversity is demonstrated with implemented examples from theory formation, diagnosis, and failure explanation in planning.