REST: GET /users/42 возвращает весь объект User — клиент берёт только name. GraphQL: query { user(id: 42) { name } } — сервер возвращает только name. Один endpoint вместо десятков.
Идеально для мобильных клиентов (минимум трафика), сложных вложенных данных и когда много разных клиентов с разными потребностями. REST проще для простого CRUD.