In making it, half the fish/seafood is puréed to make a creamy base for the stew; the other half is kept whole.
There are two slight regional variations in how to make it, Viareggio, and Livornese. Both are basically the same, though the Livornese version uses more mild red pepper (pepperoncino), and more seafood (as opposed to fish.) And while the Livornese version is served with bread, the Viareggio version is served over bread.
Cacciucco alla Viareggina (Viareggio Style)
This version starts with sautéing onion, garlic, carrot, celery, and a small amount of red pepper until softened. Tomato sauce is then added, along with pieces of cleaned fish, and white wine.
After some stewing, you take out the pieces that have remained whole, and set them aside, and press the rest of the stew through a food mill. You put this strained sauce back in the pot, and return to it the whole pieces.
It is served in a bowl over bread rubbed with fresh garlic, and garnished with chopped fresh parsley.
Cacciucco Livornese
This version starts with sautéing onion, garlic, carrot, celery, and small red peppers until softened. Squid and octopus are added, let cook a bit, then wine is added, and it is cooked a bit more.
The squid and octopus are then removed, and tomatoes and fish heads added. Hot water is added as well, and the stew is allowed to cook a bit. The contents of the pot are then passed through a strainer, then put back in the pot, along with the pieces of squid and octopus that were taken out. Pieces of fish are now introduced at the same time. The stew is cooked a bit longer, then mussels are added, and the stew is cooked a few more minutes until the mussels open.
It is served sprinkled with fresh chopped parsley, and accompanied by toasted bread rubbed with fresh garlic cloves.