In a small bowl, whisk together the olive oil, 2 Tbsp of juice from the lime, balsamic vinegar, chili powder, cumin, salt, and sugar. Set it aside.
Rinse and drain both cans of beans in a colander. Once well drained, transfer them to a large bowl.
Finely dice the bell pepper, tomatoes, jalapeño, and red onion. Try to dice the vegetables into pieces that are roughly the same size as the beans. For a less spicy salad, scrape the seeds out of the jalapeño before dicing. Roughly chop the cilantro.
Add the chopped vegetables and cilantro to the bowl with the beans. If you're using corn (optional), add it here now.
Pour the dressing over the salad, then stir until everything is well coated. You can serve it immediately, but the flavor gets even better if left to marinate in the fridge for 30 minutes to overnight. Add the avocado, if using (optional) before serving. Enjoy!
*If you're in a rush, bottled Italian dressing makes an easy and fun substitution for the homemade vinaigrette. **Using balsamic vinegar in cowboy caviar adds a rich, complex sweetness and deep color that perfectly balances the tangy lime and savory spices of the dressing. It provides a gourmet flavor that elevates the dish beyond standard recipes. You can also substitute with red wine vinegar for a classic, though different, flavor.***Chili powder is a mix of spices used to season chili, not pure red pepper.****Because black-eyed peas are technically a "pea" (vegetable), they're sometimes found with the canned vegetables rather than the beans. You can also often find them in the freezer aisle, although you'll want to boil those black-eyed peas first, according to the cooking instructions on the package. If you can't find black-eyed peas, you can substitute pinto beans or navy beans in a pinch.Make Ahead: You can serve this salad right away, but the flavors get even better as it marinates. Letting it rest for at least 30 minutes to overnight allows the beans and vegetables to absorb the tangy vinaigrette while mellowing sharper flavors like onion and lime juice. If using avocado, wait to add it until just before serving to prevent browning.