Classes, labels, buckets, and targets
Classes refer to the categories your data points belong to. You can think of them like buckets or types and some people will call them a target or label. In so-called classification tasks, they all refer to the same. What matters is that this is what you want to predict this class for unseen data points with your model once it has been trained.
Why bother with classification?
Classification and regression are the two most common types of machine learning. While regression is commonly used for number predictions, such as forecasting next month's revenues, classification is extremely useful when trying to categorize unstructured data such as images or text.
While this may not be intuitive, classification is extremely useful for solving a variety of problems. In fact, most of what you are doing most of the day is classification: Right or wrong, happy or sad, call or text, black or blue dress, fight or flight? Just like you are constantly making decisions, machines can do this as well – but it can only predict the classes you have fed the system with.
Single- and multi-label classification
For any given data point, it is possible to assign it to one single class (single-label classification) or several (multi-label classification). If all you want to do is separate apples from bananas, single-label classification will do. But if you want to extract additional parameters (e.g. color, ripeness, or quality) for each, you would rather go with multi-label classification.