The company I work at now is pretty typical when it comes to release planning. We engage in what I like to call "date-based feature-based releases".
Typically, a company will tell you that they do one of two types of releases: date-based or feature-based. The date-based release company picks a date and says, "whatever we have then, ship it!". This is pretty common in companies using SCRUM methods, or those with a big trade show (demo, customer meeting, etc) looming. The feature-based release company points to a feature and says, "we'll ship when that feature is ready." This is pretty common for a company that has a product with a perceived large hole in it.
Our company purports to be feature-based: "This will be the web release!" "This will be the HTML interactive release!". However, once the initial estimate is done, it turns into a date-based release. This is insidious but not at all uncommon. The root cause of this is that you have to coordinate a company around these releases. Marketing plans, sales goals, even company funding (if you're a VC-funded firm especially) all become tied to doing the release.
So what does this mean for testers? It's pretty simple. No matter how much this feels like a feature-based release, don't commit to a date unless you're prepared to meet it. Ever.