They're fulfilling a need that is the same as someone who customizes WordPress or builds on top of Drupal - people who want custom software, but can't afford it.
If the tools didn't work, then they wouldn't be used as much as they are, and if there was no demand for cheap mobile development with compromises, then the tools wouldn't exist.
The people who make the decision are not necessarily the ones who know what works and what doesn't. "It has to be HTML5" might just as well be the next "it must be object-oriented".
Of course, a well-made native application will perform better, but PhoneGap can be quite smooth too: https://news.ycombinator.com/item?id=4467826
As a bonus, you'll get to utilize your existing web development skills. Besides, quite a lot of the "native" apps I've seen utilize some webviews anyway.
But for a the vendor of development tools to start contacting my clients without my permission? That's ridiculous for them to even communicate with my clients, let alone try to get money.
I don't really agree with this. Can you provide an example?
Because there are a million things you can do in objective c with the ui that are basically impossible to do with html5, and many many ui elements you can configure 100x faster in obj-c(they also run 100x faster). Hell even having a reasonable 2 column lay out is surprisingly difficult in html/css.
With obj c/native if you are unhappy with some functionality of the ui you can very easily break into open gl and do pretty much anything you can imagine if you have the talent.
As far as I can tell the only real advantages of using html5 is that you can hit many platforms poorly with one code base, and that maybe you don't really know how to program or understand object oriented programming.
I would not say speed of making a ui is a plus for html unless you are trying to hit a bunch of platforms poorly or do not know the native languages well.
As for error output - you just need to look at the logs in detail (and turn them up to trace) to get details for hard crashed.
What exactly would you do if the client came back to you and requested something titanium couldn't do?
When I was using it it had problems even moving to a page with a webview already loaded up to a webpage.
Have you built a project with a real native language for pay?
I have a fairly aggressive lack of sympathy for phonegap/titanium/"cheap shortcut" users in general and this whole incident is just sort of confirmation to part of the reason why.