I'm currently playing Venice and I think I ran into some sort of bug. After sucesfully puppeting one military CS, I've taken on the most powerfull civ early on (Island) to get rid of them. Afer 20-30 turns Island negotiated peace with me and gave me one of their cities which became another puppet of mine.
The problem occurs after I declared war on them again. I took their capital Eddinburgh and the city was anexed, not puppeted????
Shortly after that, I began war with another civ on my continent (Korea), and they occupied my allied City state Valetta. After I liberated Valetta it also became anexed??? It did not became a puppet, nor did I have an option to liberate the CS and give it back to Valetta, which I honestly prefer because of trade routes from them, unit spawning and so on.
Now, I realy don't want to anex cities as it becames increasingly difficult to build wonders in late game which have special requirements (certain types of buildings built in all cities) and generaly the point of playing Venice in such way gets meaningless. With puppets, whis is not an issue, because you need to have that required building in Venice only.
It seems that occupying a "capital" anexes the city instead od making it a puppet as it is supposed to. And yes, CS are also considered capitals, so if you liberate a CS formerly occupied by another civ, it becomes an anexed city for Venice. Did anyone have a similar problem??
In general, I would say that Venice is way overpowered. By industrial age, I had 14 trade routes and almost all CS as my allies + 3 puppets + 2 anexed cities. I was earning between 300 and 320 gold per turn (460 during golden ages) which alowed me to buy units and buildings every couple of turns (with Big Ben came the real power), and just ocasionaly donating money to CS to keep them as my allies.