Apple design their products mainly for consumers, these days that mainly means iPhone users.
On an iPhone or for fairness any smartphone in this era of social media you often would want to have a picture of each contact you are messaging, phoning or yes old school emailing. 😉 On an iPhone if the contact in your Contact program on the iPhone has a picture this gets displayed during a phone call, or when you select a contact for messaging or emailing.
As you should be aware it is possible to sync/share the contacts between an iPhone and a Mac and also sync obviously emails and also sync messages aka SMS messages. So in the interest of consistency again if a contact has a picture this gets shown in Messages and Mail on your Mac.
If a contact does not have a picture then something has to be shown otherwise an empty white circle would look stupid so what Apple do in this case is use the persons initial letters to label the circle you see so John Doe becomes JD.
For what its worth I do have peoples pictures for a number of my contacts on my iPhone and hence synced to my Mac and I have even gone to the effort of putting company logos on the company contacts in my address book.
For what its worth there is an additional place these images can come from in a work environment, it is possible to add a picture to a users Open Directory and possibly Active Directory record and this then gets used by the Contacts program as well and hence gets used by Apple Mail. There are also several standards by which images can be shared via email across the Internet but Apple Mail does not itself support these, these being Gravitar, and X-Face amongst others.