You shouldn't assume "people" shares Zinos view and "treat" it special. I do not share it, for instance. There's no borg-like "people" group here.
I regard throw/catch as a language construct just like any other. If it's the right tool for the job, I use it, otherwise not. If that means it gets used a lot or seldom has very little relevance. It should of course be as fast as is possible.
Anyway, it is important to carefully consider which errors to throw and which to only return some kind of error value for (but performance should preferably not be a deciding factor). Getting it wrong in either direction makes the interface annoying to use.
As an example of an interface that throws too few exceptions, I can mention most of the basic I/O functions (mv, cp, Stdio.File.open, to name a few). It's annoying having to check errno after each and every call, so many (me included) tend to sloppily ignore that, which leads to bad code. All kinds of I/O errors shouldn't be signalled the same way imo.