While defining multiple hooks names, remember the earlier ones have higher priority than later ones. So, header hookable from app.course.create will override the one from app.common.create.
You can use this mechanism for creating set of hookables for "generic" use-cases, and override only specific hookables on a concrete pages. For example, every create page (or at least more of them) is similar. So we can define these all similar elements for the app.common.create hook, and override only specific ones with other hookables or configuration.
Moreover, there is no limit for number of hook names you can define. So, you can create the following hook:
A hookable with the same name from app.common.create.form will override a hookable with the same name from app.common.component.form. As same as a hookable with the same name from app.course.create.form will override a hookable with the same name from app.common.create.form and app.common.component.form.
Of course, this mechanism is scoped to a given hook definiton. In other template you can still define:
As there is no configuration for the app.course.create and app.course_category.create the app.common.create configuration will be applied. But, once we define the following configuration:
instead of the common/create/header.html.twig template we will see the course/create/header.html.twig template on the "Create a course" page.