This paper reviews a large number of CBR systems to determine when and what sort of adaptation is currently used. Three taxonomies are proposed: an adaptation-relevant taxonomy of CBR systems, a taxonomy of the tasks performed by CBR systems and a taxonomy of adaptation knowledge. To the extent that the set of existing systems reflects constraints on what is feasible, this review shows interesting dependencies between different system-types, the tasks these systems achieve and the adaptation needed to meet system goals. The CBR system designer may find the partition of CBR systems and the division of adaptation knowledge suggested by this paper useful. Moreover, this paper may help focus the initial stages of systems development by suggesting (on the basis of existing work) what types of adaptation knowledge should be supported by a new system. In addition, the paper provides a framework for the preliminary evaluation and comparison of systems.