Yeah. That's the idea, all right. The reality, not so much. Anyway, if you disclose the idea, all anyone has to do is come to an agreement with you to use it. And if you keep it a secret ... it's exactly the same! All anyone has to do is come to an agreement with you to use it.
Patents are parts of the public record and expire. So it will eventually be part of the public domain. For secrets there is no such guarantee.
Of course these days patents are written in such an obfuscated manner, that maybe they aren't very useful as references in the future.
The whole point of patents is to encourage disclosure.