I'll try to answer my own question, after thinking a bit more about the actual issue. And the answer seems to be very easy: of course it's best to use a good algorithm that relies on a secret key, like we do for encryption. Compare the following two scenarios:
CASE #1
The algorithm should be very good: it should hide encrypted data inside the noisy part of the carrier, making "noise on noise" indistinguishable from just noise. Of course if you want to make sure a complex algorithm is very good, it cannot be secret. The key of course should be strong enough to avoid bruteforce attacks, and should be kept secret.
In this situation, if the fact that you use steganography software becomes known, it's hard to prove that you have actually used steganography on specific occasions. To extract the encrypted data (which looks like noise) from the noisy part of the carrier, you need the secret key, otherwise it will all just look like plausible noise in the carrier. In other words, with a good algorithm, if the key is secret it is not possible to prove that you have actually used the algorithm.
Case #2
The algorithm is secret, custom made, and all your security depends on its secrecy. The algorithm is probably far from perfect.
In this situation, if the algorithm becomes known, then all your past communications are compromised. With the algorithm, it is possible extract all your secret data from the carriers. Even if your custom algorithm also needed a secret key, the logic would probably be bad enough to allow some kind of statistical analysis that can detect secret data inside a carrier. In other words, if a bad algorithm becomes known, it's probably possible to at least demonstrate that you have used steganography on some specific occasions.
So yeah, like we do for encryption, the Kerckhoffs's principles can be applied to steganography too.
Whether good algorithms exist for steganography though, is another question that would not be in topic here. Encryption has several good algos, unbreakable or currently believed to be practically unbreakable, well-known and analyzed by thousands of mathematicians, etc. I have the impression that steganography algos are more difficult to devise, but I might be wrong.