Heat oil in a large high-sided skillet or Dutch oven over medium heat. Add onion and cook, stirring occasionally, until softened, about 2 minutes. Add garlic and cook, stirring, for 1 minute.
Add fish, tomatoes and their juices, chile pepper, cilantro, olives, capers, oregano and salt; stir to combine. Add up to 1/2 cup water if the mixture seems dry. Cover and simmer for 20 minutes. Remove from the heat. Serve warm or at room temperature, garnished with avocado (if using).
Opt for firmer hook-and-line-caught haddock or U.S.-farmed tilapia. Pacific cod also works, but will be more flaky.