Earlier quoted context omitted.
You could, but in order to make that reliable, you have to use a lot of other people's space storing other people's messages... It's a lot simpler to keep it reliable if the service owner owns this (this is also part of the reason the Skype supernodes moved to be company hosted)
How much replication do you need? 10x? 20x? If these are text messages that's probably less than 10KB per person per week of being offline. Delete the messages if the recipient hasn't come online in a week. I believe you could build a highly reliable P2P offline texting app without any centralized services. I'm not sure anyone would want it and it seems difficult to monetize, but it is doable.
How would you handle those? Or only allow sending text when the other person is offline?