Online advertising is the major source of revenue for most web service providers. Displaying advertisements that match user interests will not only lead to user satisfaction, but it will also maximize the revenues of both advertisers and web publishers. Online Advertisement systems use web mining and machine learning techniques to personalize advertisement selection to a particular user based on certain features such as his browsing behavior or demographic data. This paper presents an overview of online advertisement selection and summarizes the main technical challenges and open issues in this field. The paper investigates most of the relevant existing approaches carried out towards this perspective and provides a comparison and classification of these approaches.