|Cebiche from Concepcion, Houston, TX
When the fish (or sometimes meat) is soaked in the acidic solution, it loses the translucency and takes on that opaque and firm character associated with meat treated with heat. That's because what happens when the fish is heated is that the proteins coagulate - think how egg white turns, well, white when it's heated. Heating denatures the protein strands, and makes them reform new bonds.
Now, proteins hold on to water because they have a bipolar nature - they have positive and negative charges on the molecules. There is a point, though, under the right circumstances, when you can neutralize those charges. This is called the isoelectric point, and when it's hit, the protein loses solubility in water - because the charges are gone. "Cooking" in acid involves bringing the proteins in a target ingredient to the isoelectric point, where they coagulate as they lose the ability to hold on to water.
While this works well in meat or fishes, it's really quite evident with milk. When acid is added to milk, the casein in the milk hits the isoelectric point (around pH 4.6), and starts precipitating out. Filter it out, and, voila! paneer cheese. Or ricotta. Or if you rely on bacteria to make lactic acid - yogurt.
But you can also leverage the isoelectric coagulation of milk with lime juice to thicken condensed milk and cream to make this