Technically yes Strapi is both a backend framework and a headless CMS (though my marketing and product teams would largely disagree with that statement).
What makes a CMS a CMS (headless or not) is the level of abstraction applied to the backend framework and how content creation/management is supported for the user. There is different approaches for things like internationalization (i18n) and concepts like components and dynamic zones.
In a normal backend framework (and functionally even at our database layer) these are simply relations but within Strapi they are treated differently than “just a relation” as there is a layer of abstraction applied.