Because on Windows Phone and Android you can't just pass anything between Pages or Activities. On Windows Phone you have URL's that you can give a Page, which MvvmCross uses by adding your serialized parameters to it. On Android you have Intent's where you can put extra strings, bools etc. So it also serializes it and adds that as an extra thing in the intent.
Not sure how it works on iOS but that is basically the reason as to why. If you have a better way to do this, I suggest you make a pull request :)