Keep it private or make it public?
I have always leaned towards keeping the product roadmap private.
Why keep it private? As you continue to work on a product, feedback from customers should shape how you improve your product. A predefined list of features you came up with along with timeline on when those features will be part of the product should not be your guide on how you evolve your product.
That feature list you created five months ago could be missing items which are of more priority now.
It is important though to have a top-level view of features you want to see be part of the product when you initially set out to build the product. Over time you will end up removing features from the list which no longer seem important now.
A product roadmap which is public but always updated. That’s a compromise I am ok with.