Here are some considerations: * It needs to be deep enough that you can get close to shore with a ship that extends several meters below sea level. * It needs to be protected from large waves, so a spit of land that goes around the harbor is useful. * It shouldn't be in a place where tides are large and ships will be moving up and down over the course of a day by too much to make loading and unloading difficult. * It shouldn't be in a place where winds are frequently too strong to make operations difficult.