RosterListener.entriesUpdated() will be invoked when Roster entries are updated.
A second client of the same user could for example modify the roster and rename an roster item. In such cases the first client will be notified about the roster change and Smack will invoke the callback.

Since Smack is also FOSS, I encourage you to look at the source code, especially the call hirarchy of entriesUpdated() , in an attempt to understand what is going on.