Apple has always done things apple's way. Apps are very different thing on a phone than a computer. All "substitute" apps would have to have the same interface parameters as the stock ones which Apple certainly can't guarantee. So if you were in an app and hit a button to send a message and you had a different message app which didn't have the same interface parameters as the stock one - it wouldn't work and then people would be filling forums up with blaming Apple for that not working.