ну смотри, у тебя есть допустим огромнейшая коробка(сервер). в которой лежат камни(игроки) по 10 тонн(вся дата игрока). допустим 50 камней.
на каждом камне выгравировано его уникальное имя(ссылка, адрес в памяти). теперь тебе тебе подсовывают еще один камушек, снова 10 тонн, и хотят узнать есть ли среди тех 50 аналог тому что тебе дали.
естественно ты как умный тупо найдешь камушек с таким же именем (проверка по ссылке), однако те кто сунули тебе этот камень хотят что бы ты проверил его по всем параметрам (Equals) и в итоге тебе придется таскать эти камни, прикладывать их друг к дружке и т.д. (тебе же не хочется мурыжить два камня по 10 тонн?). те кто умнее будут проверять например по левой грани (getName().equals) или по правой грани (getUid) ну и т.д. В этом случае тебе придется тягать камни гораздо меньше(что несомненно лучше), но все равно придется.
делай выводы кароч.
Все вышенаписанное является моим пониманием ситуации, если где то не прав, то с радостью узнаю где. лучше сейчас чем через npe