Probably same reason as anything you work on might have undocumented stuff. Combo of lack of time and/or not wanting to imply support for unstable/experimental features. If you're only screwing over the team on the next desk or whatever it's a lot easier to change things.
Wouldn’t it make sense to provide these to the user? Even if they might not be perfectly reliable.
This stuff must be documented internally, why not just release it?
Security by obscurity does not work: Your competitor reverse engineer everything you do anyways.