The use of either supervised or unsupervised classification algorithms is ultimately driven by the nature of what you are trying to achieve. Sometimes the data you have or the result you wish to attain will dictate what algorithm is most efficient to use. This will be a result of a trade-off between time, accuracy and complexity/detail of your expected result.
Ultimately, supervised classifications generally attain greater accuracies because they are trained on 'user knowledge'. For example, if you were to classify imagery of your home area, you would likely know some information on the land cover classes, compared with a place half the world away where you have no prior knowledge. This knowledge could be used to gather accurate training data to input into your algorithm. In comparison, unsupervised algorithms have to define their own classes based on the number that you tell it you want. This can cause error if there a more classes in the scene than you have asked it to classify - in this instance you will find that classes have merged. Unsupervised algorithms will also seek to 'find' the classes that are most different, which may not accurately separate subtly different classes that you could train within a supervised algorithm.
However, supervised algorithms require training and are therefore more time-consuming to construct. Subsequently, they will only be as accurate as the training data that you use. If your training data is not representative of your land cover then the classification will not perform well. There are also caveats regarding the underlying assumptions of the algorithm. For instance, a maximum-likelihood algorithm assumes that your training class data is normally distributed whilst a Ransom Forests or KNN algorithm does not.
The classification of vegetation and non-vegetation is a relatively straightforward task. In this instance, depending on the input data you have, you are only looking to achieve two classes from data that will be very spectrally different. In this instance, an unsupervised classification will likely perform as well as a supervised algorithm, whilst doing so in a much shorter time. However, as the complexity of the scene increases the accuracy of the classification will likely decrease with continued use of an unsupervised algorithm. Imagine you know have to classify a scene not only by land cover (i.e. forest, grass, soil) but also by species - this is a lot more complex. How do you know the total number of classes needed? Which classes are only subtly different?
The choice of what algorithm to use is therefore dependent on your goal. If for example, you wanted to create a vegetation/non-vegetation map as an input layer into a land cover classification, then an unsupervised algorithm could be an accurate method of quickly achieving this, before you implement a more time-consuming supervised algorithm to classify specific land cover classes/species.