Data is everywhere.
The data you need for your applications could be spread across existing databases, in SaaS applications, ERPs, or in other services (and other databases) across different teams in your organization.
If you're building a new application, you will have to put together a new set of data models in your database, and possibly again, use several services which will hold data for you (such as Stripe, Salesforce etc).
You need to make this data accessible yesterday
You need to access this data to:
Trigger workflows when your data changes
Read this data to see what kind of applications people can build with it
Give access to this existing data to your partner orgs / vendors / users.
Enrich your data from other data sources
But, you need to spend a considerable amount of time to build this, a data-as-a-service layer or a data API. You will need to worry about performance and security. There is a lot of work to be done to make this data accessible securely/ You will need to put in controls to make sure you understand what is slowing down, what is fast, how to optimise for indexes, and more.
You want GraphQL because it makes your users go fast & love you ❤️
GraphQL allows your API consumers to fetch data in exactly the shape that they want to, and has a very rich community of developer tooling and developer experience around it.