There's an article over on CNNMoney talking about how the iPhone was able to be kept a secret for 2 and a half years across multiple companies. The device isn't available until June, but was announced in January. Why not wait until June to announce it?
In the end, Apple decided to reveal the iPhone several months ahead of its official June launch because it could not keep the secret any more. Apple has to file with the Federal Communications Commission (FCC) for the permits needed to operate the iPhone, and once those public filings are made, Apple has no control over the release of that information. So, Jobs said, he made the decision to have Apple tell the world about its new phone, rather than the FCC.