We did the Baltic cruise and LOVED it. Yes, they are all cities. We had 4 kids, ages 9-15, most of whom are not tolerant of endless museum tours. Our excursions:
Tallin - private food tasting walking tour of old town, arranged on our own. $60/person, 5 hours, 5 courses. Sooo good, our guide was wonderful and we got a really nice intro into old town and current day life in Estonia from our guide.
St. Petersburg -private tour arranged on our own. Museums and old buildings, dinner out in town at a really fun, casual restaurant, and the cat museum for dd. It's SPB, there's a lot of old buildings and museums, it is what it is.

Helsinki - half our group did the
DCL speedboat tour, the other half the DCL reindeer excursion. We all had fun. We all missed seeing the actual town though. It was also the shortest port time of the cruise.
Stockholm - we did the DCL food market/Vasa/old town walking tour. We LOVED Stockholm, but all wished we'd booked a private tour or just struck out on our own. The DCL tour was very rushed. We went back into town immediately after getting off the tour bus. Stockholm is easy to navigate, most of the main tourist areas are near each other and it is a beautiful city. The people were over the top friendly.
I've not done Norway, so can't offer you a comparison, but from what I've read Norway is about being outside, the Baltic cruise is about the different cities and cultures. We definitely enjoyed the different cities and have decided we want to go back and spend time in Estonia and Stockholm on our own.
ETA - SPB was our least favorite port, for the fact that it seemed like so much old buildings and museums, all in various states of disrepair. The rest of the cities had much more personality, IMO. I think SPB would best be explored over several days, so you can hit the must do's and still have time to poke around.