Вот документация
https://github.com/yiisoft/yii2/blob/master/docs/g...
Основное назначение - вернуть ответ в правильном формате.
В заголовке Accept клиент указывает в каком формате ему нужны данные, например json или xml
Из экшена ты можешь возвращать не только строку, но модель, массив (в том числе и моделей), дата-провайдр и т.п.
ContentNegotiator приводит эти данные к требуемому формату - например, сериализует модель в json, устанавливает заголовки и т.д. Правила сериализации можно описать в модели, или же реализовать свой сериализатор (в документаци это, увы, раскиданно в разных местах). Вообщем, для создания api - необходимая штука.