A desired capability of automatic problem solvers is that they can explain the results. Such explanations should justify that the solution proposed by the problem solver arises from the known domain knowledge. In this paper we discuss how explanations can be used in case-based reasoning (CBR) in order to justify the results in classification tasks and also for solving new problems. We particularly focus on explanations derived from building a symbolic description of the similar aspects among cases. Moreover, we show how symbolic descriptions of similarity can be exploited in the different processes of CBR, namely retrieve, reuse, revise, and retain.