In Messages.app, if a user sends you an iMessage from their phone number, it'll start a thread that's tied to their phone number, and not their identity as a contact. Subsequently, if you start an iMessage through a share sheet to their e-mail address, it'll start a new thread that's tracked as a separate conversation in Messages. It results in a discordant and confusing experience as you see multiple instances of the same person in your Messages list, but with each major iOS version, figuring out which e-mail/phone that thread is tied to has become more obscure (and sometimes not discoverable at all in iOS 10).
Is there any trick to merging/combining/unifying iMessage threads with different e-mail addresses or phone numbers for a single contact? This bites my contacts all the time because I travel internationally and change SIM cards a lot, so I have to switch back and forth between messaging from my main phone number and my e-mail address.
Separately, has anyone speculated on why Apple has stuck with this shoddy UX for so many years now? It seems to me that it's a security measure, in case a single contact card erroneously had an incorrect e-mail address or phone number, two different people could contribute to the same message thread. I understand that'd be bad, but that's such an extreme edge case compared to the norm of seeing my spouse or brother show up twice in my message list that I'd gladly make the trade-off.