Groups based on rules, not users
Additional owner types and Managed groups are two add-ons which allow to define static groups: you create a group, assign users as member of that group and it’s done. You can then assign private content to that group and all users in the group will be able to see that.
Smart groups is another approach to user groups. Members are not directly assigned to the group, but the group rather defines criterias which will be used to fetch users on demand.
Below are some examples of what kind of groups you could build using this add-on.
Company users
You may have users from your company and users from the “outside world”. One way to identify them, could be to look at the domain of their email address.
I could define a smart group with a search on the email address of my company domain and automatically all users with an email address ending with @wp-customerarea.com would belong to the group.
Approved users
Some users may be entitled to access privileged information based on their profile information. You could do this earlier by using the standard groups: each time a user got approved, you would open the group and add that user to the list. Similarly, if a user got disapproved, you would remove him.
If you had a user field (a checkbox for example) indicating whether or not a user is approved, you could simply define a meta data rule on that field and the group would automatically contain only approved users, no more manual group updates.
Groups of interest
In the profile registration form, you may include some checkboxes so that the user indicates the products he is interested about.
You could then easily define groups of interest to publish private content to those users. For example, you could define a group which would target all users who checked “Product A” and “Product B”. You could imagine the same concept with groups of countries: all French users for example.