Here I am going to give the references:
sklearn.tree.DecisionTreeClassifier uses default value splitter='best'
sklearn.tree.ExtraTreeClassifier uses default value splitter='random'
And it is clearly mentioned in sklearn.tree.ExtraTreeClassifier:
Extra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits(thresholds) are drawn for each of the max_features randomly selected features and the best split among those is chosen. When max_features is set to 1, this amounts to building a totally random decision tree.
Now I hope you can clearly get the understanding of hyperparameter splitter='best' or'random'.