Your stream is first ordered according to compareTo, that is, with score.
Then it is "different" with equals(), that is, with userIdand levelId. According to javadoc:
( , , .) .
:
score 1, user 2, level 3
score 3, user 2, level 3
score 1, user 3, level 1
...
score 1, user 2, level 3
score 1, user 3, level 1
score 3, user 2, level 3
Distinct , /. "" , , .