With the exception of not being able to easily free vassal civs, I don't think the vassal system is unrealistic. I don't view the vassal relation in CivIV as being exactly like tributary status like say Muscovy under Mongol yoke.
The Warsaw Pact would be a good example of Modern era vassal states, but it's debatable which Labor civic Russia was running during the USSR/Cold War period.
That said, in the game, civs with weaker armies often voluntarily offer to become vassals of more militarily powerful civs with whom they have very good relations. I imagine if in real life, if there small countries near perceived aggressor states who had total protection from a military superpower (and they had very good relations) that would fit the vassal state model -- and I doubt it would (by itself) necessarily cause protests/turmoil in the bigger civ.
Two possible examples that might be argued are U.S.-Israel & U.S.-South Korea. I wouldn't consider Israel a vassal of the U.S., mainly because Israel has been involved in a few wars without the U.S. declaring war (which comes with the vassal relation). Then again, it could be argued that a Civ IV declaration of war isn't mutually implied by a declaration of war by Congress.
Whereas the Rep of Korea hasn't been in any wars since becoming very friendly with the U.S. during the Korean War. While one could say there's no indication the S. Korea isn't an American vassal, others could say there's no indication S. Korea is a vassal state: they just have open borders and defensive pact.
Other contemporary situations could be considered, but I have to go feed my dog.