Having cruised both the Rhine/Moselle and Danube I would recommend NOT using Viking. ( We didn’t, but have heard some horror tales). I can’t imagine for one moment that flashing any of those cards get you anything in Europe. Repeat customers get small discounts and a few extras. In our experience cabins are not huge on any of the ships compared to cruise liners and have little real difference except type of window. You don’t spend long in your cabin anyway. Look at cruise lines that offer the best trips ashore as part of the package, Some charge extra and some have very large groups when going ashore.
Vienna is well worth visiting. On the Danube we started our cruise near Prague and ended in Budapest. Not as scenic a trip as on the Rhine and Moselle but lots of beautiful towns and cities en route. Lots of Chinese now around everywhere.