Most of the time it's all about supply and demand. If there's a big demand and they're selling the berths, they'll stay for a while. But if the berths aren't selling, then they'll pull out and go elsewhere. This is what happened in the San Diego/Los Angeles area with the Mexican Riviera cruises. They ended up with way too many berths and not enough passengers, so things dramatically changed. For example, RCCL moved the Mariner of the Seas there for a while and it was very popular at first. But they moved it out because they just weren't filling the berths. This was caused by two basic problems; there are only so many ports available to them during a 7-night cruise and people did not have a lot of different choices for itineraries. And then, to make matters worse, there were problems in some of the ports causing people to not want to go there - this further limited the choices of ports.
To a degree, the same thing is going on in Baltimore, but the demand has been fairly good. We've had one ship going out of there for many years. It was the Celebrity Galaxy for quite a while, then the Grandeur of the Seas, then the Enchantment of the Seas, and back to the Grandeur of the Seas. Over the last several years, Carnival brought the Miracle in for a while and changed over to the Pride, so we had two ships sailing out of port. We weren't sure if the demand could support two ships, but we've been pleasantly surprised by the numbers. However, as with Southern California, there are only so many ports available out of this area. While we do have a few more options, such as Canada/New England, Bermuda, The Bahamas, and the Caribbean, it'll be interesting to see how this plays out over the next few years. One major problem with this port is that there is a limit on size due to the Chesapeake Bay Bridge.
So, when you add all the nuances associated with cruising out of Baltimore, then add the fuel problems, the 8 hour transit time for the bay each way, and the politics, it becomes a big chess game.