The proxyAddresses AD attribute is a multi-valued attribute that is simply a list of all possible email addresses associated with a recipient object. Any messages addressed to any of the proxyAddresses will be delivered to the owner of that address. Don't consider the upper case and lower case form of the email type as different types (SMTP vs smtp). They are the same type.
The Exchange attribute PrimarySMTPAddress is linked to the proxyAddresses entry with the capital SMTP prefix. The Exchange attribute WindowsEmailAddress is the same as AD attribute Mail. Note that it is possible to change the mail attribute manually in AD, which will have no effect on the Exchange attributes so don't change it to avoid confusion.
"Recipient objects" are defined mail-enabled objects in Exchange, such as group, mail-enabled public folders, mailbox users, mail-enabled users and contacts.Understanding Recipients
There are many types of proxyAddresses, not just SMTP. For each type that is specified on an object (such as SMTP, X500, X400, MSMail, SIP, etc.) there is always a primary which is denoted by the prefix type in all caps (e.g. SMTP:firstname.lastname@example.org). All additional proxy addresses of the same type must use the lowercase prefix (e.g. smtp:email@example.com)
For SMTP, the primary address will be the address that recipients will see as the sender's email address. In Exchange, there's no way (as far as I am aware) to make the email appear from a secondary address from the same recipient object. (There are other ways to accomplish this, such as moving the address as the primary address on a different recipient object and configuring SendAs rights)
Also be aware that Exchange does not primarily route mail or identify recipients objects by SMTP address within the organization. It uses X500 addresses, which are stored in the legacyExchangeDN attribute of each recipient object. This is a very important concept to be aware of. The Attribute, the Myth, the legacyExchangeDN