We can invite Users and add them to Teams, define oncall schedule, etc.
We can also create Groups and add Users to them... but that's it? What are Groups used for in OpsGenie?
Groups existed before teams were a concept. So they are there for legacy reasons. While teams did replace a lot of the group functionality, there are still reasons to use groups. 2 that come to mind offhand.
1: You can still build integrations outside of teams. You could use groups in that case to add groups of users to the issue.
2: Within a team, you can use groups to identify a subset of users. (ie, managers, engineers etc)
I am sure there are other user cases.