In simple words, transfer learning means that you take a pre-trained model trained to predict one kind of class, and then either use it directly or re-train only a small part of it, in order to predict another kind of class. For example, you can take a pre-trained model to identify types of cats, and then retrain only small parts of the model on the types of dogs and then use it to predict the types of dogs.
Without transfer learning, training a huge model on large datasets would take several days or even months. However, with transfer learning, by taking a pre-trained model, and only training the last couple of layers, we save a lot of time in training the model from scratch.
Transfer learning is also useful when you don't have a huge dataset. The models trained on small datasets may not be able to detect features that a model trained...