I've been reading a book set in 18th century England and may have at least partial answer to your question [img]smile.gif[/img] . Families were much bigger in those times - more kids and much more involved with extended family. As well, it was generally traditional to have 3 or 4 names which everyone in the family was called, e.g. all girls would be called Ann or Margaret or Catherine, and all boys either John, William or Edward, or something like that. With so many family members and so few names, there would necessarily be people who were still alive (or perhaps very recently departed
) with the same name - a mother, great aunt, two cousins and a second daughter all called Mary, for instance. So nicknames and shortenings were necessary. I imagine originally the most obvious shortenings were used, like for Margaret - Marg, Meg. Then similar but unique forms, e.g. Peggy, Peg. Same for William - Will, Willy, Bill, Billy.
It's interesting that now, the shortened forms are being used as names of themselves - for example Jack is a very popular name atm, but not as a nickname from John.