My experience with Cordova.. it's slow at runtime, and you build the UI yourself using CSS (which gives the feeling, "Why am I building this by hand, while in native I can just drag?").
My experience with Appcelerator.. it's slow at compilation (imagine GWT), debugging is printlns, and you're at the mercy of whatever feature they provide (e.g. if the latest version of Android has new widget X, you can't use it until Appcelerator comes up with their version of X).
I still hope there's holy grail for code reuse / cross platform, but until then I'm forced to go native.