I didn't say anything about IB generating code.
There are a few fundamental requirements for a language to allow for powerful abstractions. I think self-referentiality and closure (in the maths sense not in the CS sense: http://en.wikipedia.org/wiki/Closure_(mathematics) ) are among those requirements.
GUI tools are ages behind what today's programming languages can do in terms of abstraction. So I don't see why it should be a good idea to limit the expressiveness of my toolset by inserting static blobs or nibs of visual somethings everywhere.
To make it perfectly clear: I want to be able to insert a function in place of any static structure, anywhere! I don't want barriers that make this process more difficult. And that's what GUI builders do.
You say I can define UI things in code as well. Great, I'll gladly take that offer, thank you very much ;-)
You can also define UI things in code in Cappuccino (as well as Obj-C).
IB is optional with Obj-C, and I imagine Atlas will be optional with Cappuccino.