Being able to say, "We are going to release version 2.0 on June 24th, 2013" does a lot of things. First, it signals confidence in your ability to manage your time and resources. Second, it allows your customers to hold you accountable for missed deadlines. Third, it prevents cases where you con yourself out of meeting the deadline with seemingly valid reasons.
I refuse to buy products from companies who do not publicize their development roadmap. I'll give games as an example. Back in the day I used to play World of Warcraft, and whenever we asked Blizzard when the next patch or expansion was, they would reply with a flippant and condescending "when it's ready." This was such a common response that players would often use it mockingly and append it with a "TM", because it was a trademark of how Blizzard communicated with its customers. It was one of the main reasons why I canceled my subscription.
These days I play Planetside 2, and SOE is a lot better with communication and they go so far as to publish a list of scheduled features and their estimated timeframes. And if schedules change and something gets postponed, they update the list with an explanation of why that happened.
As a customer, I want to know what features to expect and when to expect them. Do not try to hide it from me because that will piss me off. The end.