Nothing, but there's nothing really compelling about it either. Don't get me wrong - the unassuming system design works great for OS app - but you wouldn't attract many users to it with the feature set it has
I don't really find that a very compelling criticism, to be honest. When I think about what kind of features I'd want in my messaging app, there are really only two things I can think of that iMessage doesn't have: encryption, and the ability to easily leave a group text. Add those two things in, and I'm there for life.
On the other hand, both of these things are essentially limitations imposed by SMS, at least when one end of the conversation is not an iPhone. Both can be fixed, at a small cost in complexity, and if they did that, I think it would hit a good balance between features, usability, and architectural complexity.