Not sure if I'm qualified to give a proper discussion of it, but we decided to go with iconv, because we are Linux based and the PHP built-in stuff was not comprehensive enough (at the time of writing it was all still experimental, anyway).
recode is built on top of iconv (it uses the iconv libraries), but we found iconv easy enough to use, and it worked reliably, so we didn't see the point in having it all wrapped up in recode.
iconv and recode may not be available under Windows, but if you use *nix, I would pick one of them.
Feel free to email me if you'd like to discuss it some more.
Iain