One of the drawbacks of traditional steganography is that both parties need to exchange a secret key. Encryption had this problem too but circumvented this with public key cryptography.
Are there any cases where this has been done with steganography, where a message can be encoded with a public key and retrieved with a private one?
Google seems to bring up a few research papers but nothing practical.
Remember steganography is considered broken if the presence of a message is detected.
Edit to explain more
Alice wants to send Bob a message, however Eve is monitoring Alice's communication.
Alice can encrypt a message, but Eve will know that a message was sent and can demand the key from Bob to read the message.
Alice can use a keyless steganography algorithm to embed a message in an image, but Eve can check any images sent for messages using known algorithms.
Alice can encrypt a message and use a keyless steganography algorithm but Eve can check the image, extract the message and then demand the key from Bob
Alice could use a keyed steganography algorithm and Eve would not be able to detect a message even if he was checking. However Alice has no way to get the key to Bob so that he can read the message.
If there is such a thing as public key steganography Alice could embed a message using Bob's public key Eve would not be able to detect a message and Bob could read it without the need to exchange a key. However I don't know if such a thing exists.
This question and it's answer points out the issue with the 'encryption as random noise' suggestion. Encryption is not specifically designed to be indistinguishable from random noise, it is an artifact of some systems but not guaranteed.