Collaborative filtering (CF) is a technique that can filter out items that a user might like based on the behaviors and preferences of similar users. It is a key en-abler technique for an effective recommendation system (RS). Model-based recommendation systems, a subset of CF, use data, typically ratings, to construct models for providing personalized suggestions to users. Our objective in this work is to provide a comprehensive overview of various techniques employed in Model-based RS, focusing on their theoretical foundations and practical applications. We explore the core challenges associated with recommendation, including the top-N recommendation problem, and explore the state-of-the-art model-based methods used to address these challenges. In this survey, we categorize these techniques into three distinct classes: matrix factorization, similarity-based, and completion-based methods. To compare their performance, we evaluated these techniques over the MovieLens datasets using two metrics: Mean Average Precision (MAP), Normalized Discounted Cumulative Gain (NDCG), precision and recall.