We always thought we'd hate cruises like lots of people seem to think. But now that OH has cancer and is on permanent chemotherapy drugs for the rest of his life, it's the only way we can go abroad, as aircraft/airports are too risky for him due to being immunocompromised.
It sounds counter-intuitive to holiday on a ship for a week or two, but they're really hot on cleanliness and hygiene and there are hand gel stations everywhere. We've never caught anything in cruises, not even the shits, and feel pretty safe on them, even the huge/crowded ones as they're so big, you can always find somewhere quiet. We just take precautions such as taking food from the budget from underneath or newly laid out trays only, rather than food that looks to have been sat there a while and coughed/sneezed over. Likewise we take crockery/cutlery from underneath rather than what's on top. Pretty easy to take simple precautions. Far better than being trapped in a metal tube for 3 or 4 hours and stuck in crowded airports, crowded airport shuttle buses, etc. Just so much nicer to be able to park at the port and have a short stroll to the ship.
We're not that bothered about doing much on "shore" days. Happy enough just to walk off the ship and stroll into the town, have a look around for a few hours. Or maybe one or two excursions during the week. When we went on a Baltic cruise, we only did one excursion which was a day's tour around St Petersburgh on a half empty coach!
Yes, breakfast buffets can be busy if everyone is trying to eat at the same time, but you just either go early before the rush or go later after the rush or get a room service breakfast ordered. Same with other meals on board - the buffet restaurants are usually open 24/7 so you can eat when you like and room service is usually also available for main meals. Buffet restaurants are usually very quiet at popular meal times as most people will be booked into the more formal restaurant(s) but even they have reservations so you can book in advance to guarantee a table rather than turning up and waiting in a queue.