We went to Duesseldorf a couple of years ago, which was a very good Christmas market. It’s about an hour on the train from Cologne too, so we had a day trip there as well.
We chose Duesseldorf, as that’s the airport we flew into, and we figured it was easy enough to get to Cologne. But, the other way might work better; stay in Cologne & get the train to Duesseldorf.
If you do decide on Duesseldorf, I highly recommend the Mercure hotel we stayed at. It was about a minutes walk from the train station (about 10 mins into the centre) with very comfy rooms & nice bar and an absolutely amazing breakfast. We chose it because it looked to be one of the cheapest for that time of year, but we were very impressed. Obviously it might not be suitable if you want to be right in the centre, but we didn’t have to wait longer than about 10 mins for a train.
Dortmund is pretty good to, but much smaller; we went there the year before, as I have spent a few weeks in Dortmund but never at Christmas. There was plenty to do for a short break, but you might run out of options, depending on how much standing around drinking gluehwein you do!!