They work great for what they are designed for if you learn how to use them effectively. If you use them for things they aren't designed for or you assume that just because it's a GUI editor you can click around and build things without knowing what you are doing, then you're going to run into problems. This is not a problem with the tool.
> Here's how you adjust kerning
No, that's how you adjust kerning if you want to do it manually as a one-off task. It's trivial to wrap that up into something you can use in Interface Builder for day-to-day work.
This is exactly the kind of thing I was referring to wit the 80/20 split I mentioned. You use Interface Builder to create your user interface. It's not Photoshop. Fine control over the details, such as character-by-character adjustment of kerning, is more effectively done elsewhere. But just because you don't have Photoshop-level control over the details, it doesn't meant that it's not a great tool for the other 80% of GUI work.
I also don't understand how pointing out how to do kerning with code is a criticism of Interface Builder. You realise that if you create all your GUIs by avoiding Interface Builder you still have to use those APIs for kerning? That's not how you do kerning in Interface Builder, it's got nothing to do with Interface Builder. That's how you do it in code.
http://stackoverflow.com/questions/7370013/how-to-set-kernin...
They really should have woken up and done a nice markup language and a styling language to go with it a very long time ago.