I can confirm that this function works as I wrote in the link added by @jcoates .
The problem here is that administrators tend to use the primary group function incorrectly because it is not possible to customize the secondary groups (except for titles and trust levels).
In theory each site should have only one primary group, not two or ten (as @codinghorror said in another topic some time ago).
But, because people want to display a flair for each group or customize each group in other ways, they modify them as primary (that is basically a wrong way).
And when the same person belongs to several primary groups, the problem begins because an administrator must decide which primary group should be shown manually changing it.
When you have to decide which group to show for a few users it takes a few minutes, but if users are tens and dozens …
What happen if you have 99 users who are not in a primary group and 1 user who already belongs to another primary group?
I would be in favor of a user profile setting so that each user can decide which primary group to show themselves (if they belong to more than one primary group).