есть внутреннее апи, есть внешнее.
вк использует общее внутреннее.
как правило для построения одной страницы, нужно много методов апи - оптимальнее сделать для себя один запрос который внутри вк сделает запросы к внутренним методам апи и вернут все разом.
например юзер переходит в группу, нужно загрузить список постов, список юзеров в группе, контакаты, админов, топики и тд - это много отдельных запросов и для самого вк для групп нужны одни и те же, зачем делать 10 http запросов?
для сторонних приложений удобно делать методы минимальными, чтобы подходило всем, не было избыточным и было понятным.
плюс в публичном апи все равно есть не все возможности вк.
плюс для публичного апи есть ограничения по запросам на приложение, скорее всего ставятся на уровне вебсервера.
плюс они по ресурсам могут себе позволить иметь 2 апи. и для вк использовать свое апи не удобно, почему не сделать отдельное. для меньших проектов вполне норма использовать свое апи.