Now I understand the point of Add approval rule (it's only to define a set of approvers for a given branch, nothing more than that).
Actually, an Approval Rule would apply to a branch, or all branches or, since GitLab 15.3 (August 2022):
Add approval rules for all protected branches
You can now create an MR approval rule and apply it to only protected branches in your
project.
This is a great improvement that allows you to more selectively apply compliance controls with increased granularity.
Previously, adding an MR approval rule would apply it to all branches. This was a great way to ensure that proper workflows were enforced before
code reached production, but it also meant that MRs for feature branches, short-lived branches, or experimental branches all had to use the same
workflow.
This could slow down developers that did not intend to commit to protected branches and who likely did not need the same level
of workflow enforcement.
Creating MR approval rules for protected branches allows you to be confident that the sensitive branches you depend on will have proper
workflows applied to them while not slowing down development on other branches that do not need the same level of control.

See Documentation and Issue.
But that differs other rules, which cannot easily be replicated through Approval rules.
GitLab 15.9 (February 2023) provides a new option, but only for Premium or Ultimate:
Require multiple approvals from Code Owners
You can now precisely define for which files, file types, or directories approval
has been designated as optional, required approval by one user, or by multiple users.
The latter being the new improvement of the CODEOWNERS
file.
So far, if you needed to require multiple approvers be it for compliance reasons or other reasons,
you could only do so with an approval rule.
However, unlike Code Owner approvals,
approval rules apply to entire branches and cannot be refined to apply to specific
parts of your code base. So, the multiple approvals would have also been required
for changes that do not need a high level of scrutiny leading to unnecessary reviews.

See Documentation and Issue.
Note that License-Check is deprecated (to be removed in GitLab 16.0+).
GitLab Ultimate proposes flexible license approval policies.