"Java EE 6 Is Nice, But It Is Too Late...." I see this statement more and more often. Its similar category to "EJB 3 are too heavy" :-).
You should consider, however, that customers, sponsors etc. only care about the end result, development and maintenance costs. Whether something is new or old - they actually don't care. They even shouldn't.
In huge companies politics, long-term contracts and golf-course decisions could overrule this strategy - what often leads to huge and overcomplicated "enterprise" projects (and so consultants-heaven :-)).
Java EE 6 development model is comparable with the other alternatives, but it will run on most application server in near future, like Java EE 5 did. So you can get lot better support, licensing conditions etc, that it was the case at the J2EE time. Your application remains server independent - a good insurance for the future. And you have only to negotiate once - with a single vendor.
iPhone was too late - and see what happened. iPad is extremely late (there are more powerful alternatives on the market for several years) - let see how it works.
Both products have something in common - they provide very good - out-of-the-box customer experience, are easy to use and set-up.