Commercial Off-The-Shelf (COTS) products are increasingly being used in software development. In COTS-based development, selecting appropriate COTS is the most crucial phase. This paper explores the evolution of COTS selection practices, and surveys eighteen of the most significant COTS selection approaches. The paper traces how each approach contributed to the improvement of current COTS selection practices, and then compares them .The paper also highlights some open research issues relevant to the selection process, and concludes with a discussion of possible future directions to address these issues.