You're right about the plugin system, but that also requires that you know Objective-C if you want to build anything on the other side of that plugin, and if you know Objective-C why are you bothering to build an app with PhoneGap?
Debugging in the browser is a possible solution, but even Mobile Safari's developer tools are very limited. The console displays more JS errors, but often won't include line numbers or other critical details. Plus, no support for any native hooks. Weinre is okay but you're right that it's still not as in-depth as a real browser, and I haven't been able to get it working on an actual device yet, only in the Simulator.
Basically, the whole environment still has that duct-taped-together feel to it. The benefits are still worth it to me, but there's definitely a lot of room for improvement.
E.g., for my links I use following code. It binds a tap event (instead of a standard jQuery Mobile click event) to a button/link, resulting in almost no delay.
$('#footer-menu a').on('tap vmousedown', function () {
window.location.href = $(this).attr('href');
});
Regarding the limitation of "native" hooks, PhoneGap has a very solid plugin system which allows your JavaScript code to call native code. There really is no limitation to this.
As far as fixing bugs, since you are using web technologies to build your app you can usually debug in the the browser. If you have something that relies on a specific device implementation, then there is WEINRE. Granted its not as powerful as debugging in XCode or Visual Studio but it definitely gets the job done without to many headaches.