Put oven rack in middle position and preheat oven to 475°F.
Stir together salt, coriander, cumin, and pepper. Pat duck dry and sprinkle inside and out with spice mixture. Cut 1 half of orange into quarters and put in duck cavity with thyme, marjoram, parsley, and 4 onion wedges.
Squeeze juice from remaining half of orange and stir together with wine and stock. Set aside.
Spread remaining 4 onion wedges in roasting pan with carrot and celery, then place duck on top of vegetables and roast 30 minutes.
Pour wine mixture into roasting pan and reduce oven temperature to 350°F. Continue to roast duck until thermometer inserted into a thigh (close to but not touching bone) registers 170°F, 1 to 1¼ hours more. Turn on broiler and broil duck 3 to 4 inches from heat until top is golden brown, about 3 minutes.
Tilt duck to drain juices from cavity into pan and transfer duck to a cutting board, reserving juices in pan. Let duck stand 15 minutes.