There is an obvious technical difference between a protocol like iMessage and the software stack required to run apps. Beeper Mini has shown with tangible proof that an iMessage client on Android exists. Nobody to my knowledge has been able to emulate arbitrary iPhone apps on Android (if they have then let me know, that sounds like an incredible project and I would be fascinated to see how it works).
It's possible for competitors to build replacements for iMessage, too. In fact, in many parts of the world, those competing apps are more popular than iMessage. You can go to the app store right now and install these competing apps, usually for free.