I too faced the same confusion. A few months back I did a few analysis of graphcool to vet it as a potential backend for an internal project.
Unfortunately I started around the initial announcements of the new graphcool.
So as I did my review I took practical notes and tried to follow through the docs as best a possible to give a fair review for my team. Which at the time the docs were in the very early stages of updating. (Nice work on the new docs btw).
So from a hands on experience here is what I discovered.
Graphcool was a great solution to tie a lot of different endpoints together. For example we knew we would need to connect to different analytics services and funnel queried data into one location. Graphcool’s functions are the ideal thing to use for such a use case.
However it’s a very hands on setup and if you wanted to deploy such a service it was slightly more challenging . At least at the time it was.
On the other hand we were also looking to build an admin backend for a different project that would run with a vue(nuxt.js) frontend. Prisma seems more inline with that type of use case.
So this is purely an opinion but I would say use graphcool for more hands on and control over the evolution of a backend framework where you’d need to connect apis etc.
And use prisma if you have an existing database where you want to add an api later over top of it to expose your data to the flexibly of graphql. For example you have a database for your company and your team is planning to roll out a mobile app as well as a new web interface which needs to share the same data with a clean DAL.
I could be completely wrong so @nilan feel free to correct me if I’ve misspoken in anyway.