See the difference between your playstyle and mine. I don't give a flying fuck about their relationship modifier except when it prevents me from changing laws. A king rules. Vassals serve. The world obeys.
I get the "entire realm in revolt" more often than others because I don't give a shit about anyone and just take whatever shit and conquer whatever the fuck I want (since I'm always achievement hunting and speedrunning). Not to mention I always use ultimogeniture, so I get much less small revolts but more gigantic ones. With normal vassals it's basically free money for me as they're easy to put down but when a merchant republic joins you have to fight like 10,000 - 80,000 mercenaries. It's ridiculous, especially in the lategame when all the mercenaries are gigantic.
And if you want to harvest their lands or arrest them to prep the lands for an heir, you have to fight those same ridiculous amounts of mercenaries. Makes an easy operation so much more annoying.
Instead of having to deal with all that, I'd rather have a whole bunch of baron cities and raise the city tax to maximum. They can't fight back and I get shittonnes of money. Also once in awhile I can harvest them for money like any good ruler should do.
-------------------
Edit: Actually, come to think of it, it'd be a great idea to have merchant republic vassals in places where there aren't enough mercenaries.