I get Rob from Robert, but where did Bob come from? Or Dick from Richard?
There was a remarkable lack of imagination , when it came to giving names to people in medieval England, at least after the Normans came. With no last names, to sort them out imaginative nicknames were required. Bob and Dick are only a couple of the variations that were once used. To quote Bardsley's Curiosities of Puritan Nomenclature
But when we come to realize that nearly one-third of Englishmen were known either by the name of William or John about the year 1300, it will be seen that the pet name and nick form were no freak, but a necessity. We dare not attempt a category, but the surnames of to-day tell us much. Will was quite a distinct youth from Willot, Willot from Wilmot, Wilmot from Wilkin, and Wilkin from Wilcock. There might be half a dozen Johns about the farmstead, but it mattered little so long as one was called Jack, another Jenning, a third Jenkin, a fourth Jackcock (now Jacox as a surname), a fifth Brownjohn, and a sixth Micklejohn, or Littlejohn, or Properjohn (i.e. well built or handsome).
Bardsley's got a lot more. Some of these are diminutives ( Robin would be) some of these just kinda sorta rhyme. Jenning is about as close to John as Bob to Rob. Anyone who's dealt with colonial America has also suffered from their monotonous and confusing use of James, Edward,Charles, William, Mary, Elizabeth, Sarah, George....generation after generation.
I can't fully answer your question, but part of it has to do with the rhyme. Rhyming nicknames used to be popular earlier on. Robert to Rob is easy, and that rhymes with Bob. Richard to Rick (Rich) is easy, and that rhymes with Dick.