CB Conditional allows conditioning tabs/fields to show/hide based off various conditions such as a fields value, a usergroup, a view access level, and more. This however is all conditioned against the profile owner. It is not conditioned against the user viewing the profile. It is possible to condition against the user viewing the profile using IF substitutions in a Custom Value condition though. Then to be sure the profile owner always has access you'd simply use an OR condition (it supports unlimited OR/AND conditions) and check the viewing users user id.
CB Privacy does condition against the user viewing the profile. You'd likely just use a forced privacy control then set the privacy rule to your usergroup or view access level. However the profile owner and CB Moderators can always see the field regardless of privacy controls.
In short CB Conditional or CB Privacy can both do what you're wanting. CB Conditionals being more flexible, but more complicated to configured. CB Privacy being easier to configure, but limited in usage (e.g. it can't check against a field value or anything like that). With both cases and usage in mind I recommend just trying it on our demo site below.
demo.cbdemosites.com/
Example conditions as follows.
Display: Field conditional show
Condition 1 (OR)
Field: Custom > Value
Custom Value: [cb:if user="#me" usergroup includes "USERGROUP_ID_HERE"]ACCESS[/cb:if]
Operator: Equal To
Value: ACCESS
Condition 2 (OR)
Field: Custom > Value
Custom Value: [user_id]
Operator: Equal To
Value: [cb:userdata field="user_id" user="#me" /]
Replace USERGROUP_ID_HERE with the actual usergroup id you want to check for. The above would then display the field if the user viewing the profile has that usergroup or they are the profile owner.