Demographic Filtering is outdated and not used

Content-based filtering uses the items’ and/or users’ characteristics (e.g. movie genre, actors, director or year for movies, and gender, age, religion, sexual orientation, job, etc… for users) to recommend similar things

Collaborative Filtering only employs users’ past interactions (sparse matrices almost always).

Memory-based approach is non-scalable as it uses interrelations between users (like KNN) and it’s terrible performance on sparse matrices. Can be user-user or item-item (second is better).

Model-based uses ML models but it’s hard to trace the decision due to intrinsic/hidden/latent factors. Usually Matrix Factorisation models are used. Falls victim to cold starts.