Heat olive oil in a large skillet over medium-high heat. Add the onion, bell pepper, and garlic; cook until lightly browned, about 1-2 minutes.
Reduce the heat to medium-low. Add the chicken, beans, and corn. Season with salt, cumin, chili powder, smoked paprika, and pepper (or cayenne). Cook over medium-low heat until the chicken and corn are heated through, about 5-6 minutes. Stir in the cilantro or parsley.
Heat a large cast iron skillet or griddle over medium heat.
While the skillet or griddle heats up, arrange 4 of the tortillas flat on a counter. Sprinkle about ¼ cup of cheese on each of the 4 tortillas. Spoon ¼ cup of the chicken and bean mixture over the cheese. Top with another ¼ cup of cheese. Place each of the 4 remaining tortillas on top of the chicken and cheese mixture.
Working in batches, cook the quesadillas in the hot skillet or on the hot griddle until golden on the bottom and the cheese has started to melt, 2-3 minutes. Use a spatula to flip the quesadillas, and cook until golden on the other side, 2-3 more minutes. Repeat with the remaining quesadillas.
Let the quesadillas rest on a cutting board for a minute or two, and then cut each quesadilla into triangles. Serve with optional toppings and salsa or guacamole for dipping.