(Optional) For an extra flavor boost, toast whole cumin seeds and a cinnamon stick in a dry pan over low heat for a minute before grinding them. This awakens their essential oils.
In a large bowl, combine the chicken pieces with olive oil, ginger, turmeric, cumin, cinnamon, cayenne pepper, salt, and pepper. Toss to coat well. Cover and refrigerate for at least 4 hours, or ideally overnight. The longer the marinate, the more flavorful the chicken will be.
Heat a large Dutch oven or oven-safe pot (if you don't have a tajine) over medium heat. Add the olive oil and swirl to coat the bottom. Once hot, add the chopped onion and sauté until softened and golden brown, about 10 minutes. This caramelization adds sweetness and depth to the dish.
Add the marinated chicken pieces along with any accumulated juices from the marinade. Arrange the chicken in a single layer. Season with additional salt and pepper, if desired.
Pour in the chicken broth. Scatter the chopped carrots, potatoes, and zucchini around the chicken. Nestle the cinnamon stick (if using) amongst the vegetables.
Bring the pot to a simmer, then reduce heat to low, cover, and let the tajine cook for 1 hour, or until the chicken is almost cooked through and the vegetables are tender-crisp.
After 1 hour, add the raisins and lemon wedges (if using). Drizzle with honey (if using) for a touch of sweetness and a beautiful glaze. Continue simmering, uncovered, for another 15-20 minutes, or until the chicken is cooked through and the sauce has thickened slightly.
Remove from heat and let the tajine rest for 5 minutes before serving. Garnish with fresh chopped cilantro or parsley for a pop of color and freshness.