Потому что в случае с REST вся бизнес логика размазывается по бекенду и фронтенду равномерным слоем, что нарушает single responsibility principle. Вместо того, чтобы задать ее в одном месте или на бекенде или на клиенте, у нас получается, что иногда приходится делать и там и там.
В случае с RPC мы полностью сосредотачиваем бизнес логику на бекенде. А в случае с GraphQL частично это решается, но лучше, чем в том же REST.