On the West Coast, many well known anchorages are called Acarsaidh (then an adjective, like Mor, or Beag, etc,meaning big and little, etc). Acarsaidh (spellings differ) is Scots Gaelic for Harbour. These are certainly not man-made harbours, so really there's no hard and fast rule. Also on the West Coast, the word Port is often used for a man-made clearing of stones on a shore, so that a boat can be safely beached.
As ever the dictionary definition is a starting point. Anchorage - place for anchoring. Harbour - place shelter for ships. However usage in the English language does not need precise definitions, but shelter seems to be the main difference, but of course you could have a sheltered anchorage.
Bit like an elephant, difficult to describe but you will know one when you see it.