First off, a crucial bit of clarification: there are no private / secret rules for moderators. There are private instructions, guidelines, tools and instructions for using those tools. In the rest of this post, I'll attempt to explain why we have these things.
Private moderator guidance is always based on public discussion; as with just about everything else in the help center, it exists to summarize policy, not originate it.
In the case you cite (not discussing suspensions publicly), the reasons for this have been discussed here on meta numerous times over the years, and recently summarized publicly by Jon Ericson in Why don't we keep public records of suspensions? - the private guidance exists as a more utilitarian version of this.
Now, you ask:
Why wouldn't we make all of this public?
Well, for years we did: everything was documented here on meta or in the moderator newsletter. Tools, guidance, etc. - if it couldn't be made public (for example, questions on specifics of how personally-identifiable information is displayed on the moderator-only pages of user profiles), it wasn't documented at all...
...In practice, this meant that a handful of long-time moderators knew how the tooling worked and how to use it effectively, and hundreds of other moderators either didn't use it at all or used it badly.
Eventually, the moderators themselves started to compile documentation here on meta under the moderator-faq and moderator-tools tags. This was a great improvement, but still suffered from a few deficiencies:
It still wasn't practical to document very specific details about how certain bits of functionality worked; there are a handful of pages that simply cannot be rendered in public without redacting nearly everything on them or violating the moderator agreement. The former option was used to good effect, but at the cost of making documentation that was (and is) unnecessarily confusing.
It's inconvenient for new moderators. For the same reason that we have a public help center (expecting new users to read the faq is naive), we needed something short, to the point, and readily-accessible to help new moderators get up to speed quickly. One-on-one chat conversations and email threads don't scale to hundreds of moderators; a section of the help center does.
A lot of it is confusing or misleading if you can't actually use the tools being discussed. It's hard to overstate how much this matters: for better or worse, a lot of the mod tools suffer from "programmer UI" - the way they display information is very closely attached to how the system is implemented behind the scenes. As a result, there's an entire page in the help center that tries to document the meaning of... well, an
enum whose values are displayed on a certain screen. This is frustrating enough for even seasoned moderators who look at that page frequently - it likely makes zero sense to anyone who can't see it at all, and may very well imply capabilities (or deficiencies) in the system that don't really exist. Imagine trying to learn to use the Windows 10 operating system by reading the Win32 API documentation and you have a reasonable picture of where this could go very wrong.
There are bits of "folk wisdom" (for lack of a better term) that are extremely useful to moderators but which aren't actually rules as such; more... observations on human behavior. Things like, "don't make empty threats" or "don't talk about people behind their backs" are nice bits of guidance that can be written succinctly in a larger bit of documentation but require a tremendous amount of explanation and hedging outside of that context. Most of this also exists in public somewhere, but collecting the more useful bits right next to the documentation for the tools where it comes in handy is a nice thing to do.
Caveat: we kinda suck at this
All that said... The current private moderator documentation is woefully inadequate; there are lots of tools that aren't documented at all, the documentation isn't consistently linked to from the tooling, and there are all too many places where a new moderator might find [TODO: explain this in English] or [put screenshot here] in place of something useful. The sad truth of all this is that we write it mostly on-demand and rarely have enough time to do it properly; with a bit of luck, it'll eventually be a much more useful onboarding tool and handy reference than it exists today, but that's probably a long time away. Part of the problem is that - unlike meta - moderators cannot themselves contribute to the improvement of this documentation; that's something we hope to change in the future, though what form that may take remains to be seen.