Wash the fish carefully, drain, and pat dry with paper towels or a clean towel. Score or slit the fish 4-5 times on a slant across each side. If using fish steaks, score once. Rub the fish with lemon, salt it, and set aside.
In a food processor or blender, puree chopped parsley and basil, green onions, garlic, and habanero pepper (optional).
If using whole fish, dowse fish in one portion of the parsley marinade, making sure that both sides are coated with the marinade, including the inside of the slashes. If using fish steaks, poke holes into the flesh of the fish and put them in the marinade. Let the fish sit covered in the refrigerator as you prepare the vegetables for the dish.
Wash and peel the potatoes and cassava and cut them into large chunks. Clean carrots, eggplant, red and green peppers, cabbage, and okra, and cut them into large chunks.
Heat a Dutch oven or a wide heavy saucepan until hot; add 1 cup of oil, swirl and heat for a few seconds, then lower in the fish and fry until fish is brown, around 3 minutes. Turn the fish around and brown it for two minutes on the other side. Remove the fish and set aside.
Add the chopped onions to the oil, and cook for about 2 minutes. Then, add the tomato sauce, tomato paste, and three tablespoons of the fish marinade. Let it cook for about 8 minutes.
Add bouillon (or salt) and pepper to taste. Let it simmer for about five minutes. Add in the smoked fish and cook for another 5 minutes.
Add 6 cups of water, then the cassava and potatoes. Let simmer for about 5 minutes, followed by the onion, eggplant, carrots, peppers, cabbage, and okra. Simmer for about 3 minutes.
Add the fried fish and let it simmer with the vegetables for about 3 minutes. Carefully remove the fish and vegetables and set them aside, leaving the tomato sauce in the pot.
While the vegetables are cooking, wash your rice. Add two tablespoons of oil to a pot and the washed rice.
Stir the rice for 1-2 minutes until fully coated in oil. Cover the pot with a kitchen towel and close with the lid to prevent the steam from escaping.
Let the rice steam for 5 minutes.
Add the steamed rice to the tomato sauce and 1-2 cups of water as needed. Adjust seasonings to taste, then Cover and cook on very low heat on the stovetop, stirring occasionally for about 15 minutes or a little more, or until the rice is cooked, has absorbed the water, and is tender.
Another option is to finish cooking the rice in the oven for about 10 minutes or until tender (if using an oven-safe pan) to minimize the stirring and prevent burning.
When the rice is ready, serve it warm with the reserved vegetables and fish.