There's no such thing as "finished" or "ready". In fact, what you posted about Apple is 180 degrees wrong. They don't wait until they have every feature they'd like to have. They wait until they have a small subset of features they think are enough to have a compelling product, and polish just those. By contrast Microsoft in the past has been criticized for trying to cram too many features in too early (with e.g. WPF), but with WP7 they tried to take a more Apple-like approach by limiting the initial feature set (whether or not they were right in their judgement of what subset of features would make a compelling product).