You can compare the two. In most applications I suspect the second (direct) method will be the one to choose.
Accuracy of the first (iterative) method depends on the accuracy with which you do the computations and when you decide to stop iterating. It therefore can be made as accurate as the second method for all inputs where both are valid (the first method works only for terrestrial heights, not for astronomical ones).
Which is faster depends on the programming environment, the computing architecture, and how much accuracy is needed. (In my tests with Mathematica, the second--direct--method is actually twice as fast as the first, practically no matter how much inaccuracy was tolerated in the iterative method.) Because both methods take about the same amount of computation but the first has to iterate at least once, it actually can be slower. If you're only doing the conversions at sea level (h=0), the iterative method might be a little faster, but the difference isn't going to be huge (I would be surprised by a twofold advantage).
BTW, note that the "closed formula" (for the second method) is a little deceptive: when you get to computing the height h, you need to obtain the radius of curvature N in terms of the latitude you have just calculated (phi). To do that, use the formula for N found in the preceding section.
Best Answer
*Note that height here is defined as height above the ellipsoid, which is often confused with elevation. Elevation is (usually) defined as height above the geoid or mean sea level.