Затем, чтобы когда "наступит" Qt 5.0 не переписывать проект, использующий неродной JSON модуль.
В тупую его собрать не получается. Там внутри используется некий QStringData, который объявлен в qstring.h, т.е. слишком глубоко интегрируется в новый QtCore. Тут
http://habrahabr.ru/post/147952/#comment_4990808 утверждается, что кто-то это уже делал. Там же, кстати, и расширенные версии ответов на вопрос зачем это делать.