Image embedding depends on the client you use really. For example The Lounge [1] can display information about links and show image previews like Slack does.
That's very different. In Slack, I, as the poster, can decide whether to show a preview (it might be pointless and take up space), and add metadata to it. It's also searchable by _anyone_ in the chat history. The uniformity of these features matters, and you need protocol support for that.
[1] https://thelounge.github.io/