I don't have an iPhone, but my android phone does pretty much everything that my simple cyclocomputer doesn't, except three things:
1. it doesn't know my heart rate because I don't have a way of monitoring it;
2. it doesn't measure power output; and
3. it doesn't log data, which would be nice to have over time.
What we really need is a cycling computer that keeps all of these data + the knows gear the bike is in, etc. Figuring out how to do that without adding an unreasonable amount of weight might prove a challenge though.