Есть несколько сложностей, вот парочка.
Нередко бывает, что функционал мобильного приложения требует некоторой другой логики работы, например он часто бывает упрощен.
Если API раздельное, вы можете гибко и без особых опасений вносить какие то изменения в работу API браузерной версии не задевая мобильное приложение. Последнее всегда более требовательно к стабильности API, поскольку если вы нарушите обратную совместимость не достаточно просто обновить сборку приложения, необходимо еще чтобы пользователи обновили его на своих устройствах.