Old school teachers used to keep secrets, and many still do, for many reasons, but typically, they were:
To Guarantee the right sucessor ( only the most advanced form(s) were taught to a selected one/few.
To keep something that they held dear to their hearts.
To keep an "upper hand" over the students.
To give an advantage to a selected student(s) over others.

Remember, most old time teachers didn't teach for money and if they did, they didn't always teach the same stuff to everyone.
We may not agree with this methods, but it was THEIR knowledge and they could/can do with it whatever they want.
Many times it turned out WORSE for the practitioner and the system, but such is life.