I've already chosen which side of the fence I'm on, so with my bias in mind I'd like to say that I evaluated Cappuccino and nib2cib+IB before I settled with SproutCore. IB is the best of breed tool for creating interfaces, but the fact is nib2cib is nowhere near complete and many widgets failed to translate correctly or at all. I eventually gave up on it.
This is of course a function of when you tried it. Its been out for over a year now, and in that time we've built out support for a lot of the built in widgets, especially for our 0.8 release. Things like TableView work very well now (which last time I checked is a class that isn't even that well supported in SC at all). And again, the proof is ultimately in the pudding: most of the apps that are shipping today have used either nib2cib or Atlas, and we have very few users who don't begin development today straight from our nib2cib based projects.
The choice between SproutCore and Cappuccino is largely philosophical (port something that works, or build fresh with new perspective), and based on limited data. The way I see it, either choice is still a choice for a client side web framework, and that's a step in the right direction. For instance, Narwhal/CommonJS/SeedJS came out of these efforts, and benefit all involved.