The aim of this paper is to present a comprehensive overview of the evolution of local features from handcrafted to deep learning based methods, followed by a discussion of several benchmark and evaluation papers about this topic. Our investigations are motivated by 3D reconstruction problems, where the precise location of the features are important. During the description of the methods, we highlight and explain challenges of feature extraction and potential ways to overcome them. We first present traditional handcrafted methods, followed by data driven learning based approaches, and finally detail deep learning based methods. We are convinced that this evolutionary presentation will help the reader to fully understand the topic of image and region description in order to make best use of it in modern computer vision applications. In other words, understanding traditional methods and their motivation will help understanding modern approaches and how machine learning is used to improve the results. We also provide comprehensive references to most relevant literature and code.