In the domain of natural languages, diverse interpretations abound for expressions. Recognizing paraphrases is pivotal in numerous natural language applications. Paraphrasing, which involves expressing two sentences with equivalent meanings but using different words, is the focus of this extensive survey. The methodologies employed in paraphrase detection, ranging from rule-based approaches to machine learning models, are thoroughly investigated. The survey explores the evolution of techniques in this field, highlighting advancements and challenges. Additionally, the article delves into various features and their impact on paraphrase detection models. It explores the multitude of metrics found in literature for evaluating these models and provides a comprehensive overview of resources developed and available for this task. By encompassing such a broad spectrum, this survey aims to shed light on the intricacies of paraphrase detection and its significance in the realm of natural language processing.