Rinse the cranberries carefully under running water, and pick them over to remove any that have spoiled.
Mix one cup of cranberries, the honey, and one-half cup of water in a small saucepan and cook, simmering, until the cranberries are very soft. Strain through a sieve into a small bowl. The honey liquid is the glaze for the duck.
Preheat the oven to 350°F Remove the gizzard, heart, and liver from the duck and set aside. Put the orange peel, half the onion, and about half a teaspoon of salt and pepper in the cavity. Paint the duck with a little of the cranberry glaze.
Place the duck on a rack in a roasting pan and roast for 45 minutes. Every 15 minutes, paint the surface with a little of the cranberry glaze. Remove the duck from the oven and prick the skin all over with a fork to release the fat. Return to the oven and continue roasting, painting every 15 minutes with the glaze, for a total of two hours.
While the duck is roasting, make a broth with the innards: roughly chop the remaining half onion and the duck innards. Place in a small saucepan with the wine, another half teaspoon of salt and pepper, and a cup of water. Simmer gently for an hour or more, until the broth is reduced to approximately one-half cup of flavorful liquid. Strain the broth and discard the solids.
Mix the remaining half cup of cranberries with the remaining half cup of water, the sugar, and the balsamic vinegar. Cook together for 10 minutes until the mixture is syrupy. Set aside.
When the duck has finished roasting, remove it from the oven and set aside. It should be a beautiful dark-red color.
Strain the pan juices into a glass measuring cup and carefully remove the duck fat that floats to the top. (Do not discard: duck fat is wonderful for roasting or frying potatoes.) Add the innard broth the roasting juices and use this to deglaze the roasting pan, scraping up the roasting bits that have stuck to the pan. Strain the whole through a fine sieve and place in a small saucepan.
Add the cranberry-vinegar syrup to the pan juices and broth. If there is any glaze remaining, add that to the mixture and bring the whole to a simmer just to warm it and mix everything together.
Carve the duck if you wish, or send it whole to the table, together with the warm cranberry sauce.