Scikit-learn is a machine learning library for Python. It contains all kinds of algorithms that can be used to implement both supervised and unsupervised machine learning methods. 

Python has become the most popular tool for creating machine learning models. However, Python is just a programming language. The library scikit-learn offers a rich set of pre-built code that can be used to easily create machine learning models without having to write the code for all of them from scratch. 

It is used whenever we want to train, validate and test ML models in Python.