However, PhoneGap shouldn't be completely to blame for any one applications performance. If many PhoneGap applications performed poorly, then you could make the case. PhoneGap apps should perform as well as any web-based app on the same device. It is up to the developer to make efficient use of javascript animations, etc. in order to provide the best user experience.
I'd be more interested to know what web framework O'Reilly used that was slow, rather than it being PhoneGap per se.
http://blog.safaribooksonline.com/2010/10/18/an-update-on-ou...
For an iOS PhoneGap project, inside the Xcode project there is a 'www' directory into which you stuff your HTML, JavaScript, and CSS files from your mobile web app. PhoneGap then creates a webview and loads your index.html in it.
PhoneGap by itself cannot be used to make any kind of an application. You also need a web app that works outside of PhoneGap (barring some PhoneGap-specific JavaScript APIs which you can optionally include to get access to device-specific information and features), and that web app presumably would either use one of the common frameworks or be written from scratch.
Hence my point that what's more interesting to know is what web app framework they used, since that'll have a bigger impact on performance and especially usability than just "it's PhoneGap".
In general, PhoneGap's going to perform the same as if you tried it in the phone's browser. From some stuff I tried before, Android browser performance was noticeably slower than iPhone browser performance, but not so much as to make it unusable.
I suspect it'll depend heavily on the device you're testing.
It's extremely easy to develop and test the app in a webkit browser, and then in the relevant phone simulators, and PhoneGap will very very easily wrap your web app into a native application - it also provides extra JavaScript APIs to access some hardware features, like the camera and geolocation and so on.
You can use any of the existing common mobile web app frameworks (I actually wrote about my experiences with several of them just last weekend: http://semantici.st/archives/223:ios-webapp-frameworks-round...), or do something entirely custom. You can certainly get a 'native enough' UI experience on iOS - I've not tried Android yet.
However, if you're planning to do anything that's really performance-limited this approach won't work. The performance is exactly as you'd get in a normal mobile web app, and if you're expecting to do, say, gaming or perhaps something complicated using the camera (like 'Layar' or 'Word Lens' type AR), you'll need to be writing native code.