Does anyone have any recommendations for cruises or ferries we can
take down the Rhine? Like start in Cologne and then get off further
down the Rhine?
A Rhine cruise is indeed a treat. But the unmissable scenic segment does not require much time or intense advance planning. Have a look at the map below of the Rhine south of Cologne:
https://www.mittelrheinbahn.de/ausflugsziele
If you can find "Bingen (Rhein) Stadt" near the southern end, and "Boppard Hbf" to the north (just south of Koblenz) then you've located the most scenic part (in between.)
Between these locations is where you'll find a solid concentration of castles and great river views - and of course cruise ship traffic. So the idea is to take the train to Bingen, board the cruise ship there, then step off the boat in Boppard (where many of the day cruises terminate anyway.) That takes about 2.3 hours total. While it's possible to cruise south from Boppard to Bingen, that takes 4 hours or so because of the current. Either way, a train ride from your base town is needed before or after the cruise (round-trip cruising is possible but means a lot of extra time seeing the same stuff over again.)
FYI: "Bingen (Rhein) Stadt" is actually the name of the train station nearest the boat dock in Bingen. "Boppard Hbf" is the main train station in Boppard. It's only a few minutes' walk to the dock from either station. "Hbf" is an abbreviation that indicates the main station in towns and cities throughout Germany, btw.
Some people cruise only the Bingen-to-St. Goar segment (takes about 1.5 hours) to save time.
Both St. Goar and Boppard serve as great base towns. Trains here are frequent and dependable and serve both towns, and it will be easy to day trip to other towns nearby. Stay in either - then when you cruise it's a simple matter to take the train to Bingen and cruise back to either town - and then you are "home." Boppard is noticeably larger than St. Goar with a greater selection of restaurants and hotels, as well as a nice river promenade. St. Goar is home to Rheinfels Castle and has the best scenery.
Want to just cross the river? FERRIES like the one in St. Goar make that easy. There's an easy-to-reach train station for exploring east-bank towns in St. Goarshausen, the town just across the river from St. Goar. Boppard's ferry doesn't get you quite as close to an east-bank station.
KD cruises have the most boats per day and offer a 20% cruise discount to passengers using a valid train ticket to reach the boarding dock. Just buy tickets at the dock.