iMessages split between different devices.
In Settings -&gt; Messages -&gt; Send &amp; Receive, check which addresses/numbers under You can be reached by iMessage at are checked and that the same ones are checked on all your devices. If there are differences that can explain what you're seeing as depending on which address the sender is using will then determine which device(s) you'll receive it on.

Remember that you don't necessarily know how the sender is choosing to contact you.  Are they starting a fresh conversation and choosing from one of your iMessage registered addresses?  Are they replying to one of your messages which may have been started by a different contact address etc?  It can get really confusing, but the key is to go through all your devices and ensure that they are listening to and sending from the most appropriate address.