Chris, I had a few days in Budapest in March a couple of years ago, and it was perishing. Lovely, but there was a bitter wind whistling down the Danube (or it might have been up).
You'll have to accept that both will be cold and probably snowy. Prague is small and slightly more manageable, and my favourite, but Budapest is very nice too.
They both have some tourist spots up inclines too so bear that in mind though they will be more accustomed to harsher weather. I went to Prague in the autumn (still quite warm) and Budapest around June time so don't know how harsh the weather and temperatures are in winter.
I think Prague would win out of the two for me, liked both but Prague is a lot easier to get around than Budapest (walked everywhere in Prague, used public transport, mainly the underground, quite a bit in Budapest) and, of the two I think Prague is prettier and more like to feel nice and Christmassy in the winter.