From late November through December every year, river cruise companies take passengers to idyllic towns to learn about Christmas traditions, shop at local Christmas markets and try tasty seasonal treats.