I agree. I have this problem with my new Galaxy Note 4. I think vibration settings have never been great in Android overall. Every app behaves differently, and the configuration options in each app don't adequately describe the behavior that will result.
For me, if the phone is on my desk, on a table, connected to the charger, being used in the car, whatever, I don't want the darn thing to vibrate. The only time I want it to vibrate is when it's in my pocket, and only for certain apps' notifications. Ideally, the phone would be able to figure it out on it's own -- I can think of some ways to program Tasker to do this, but I shouldn't have to use Tasker.
Aside from that, each app, instead of having only a tick mark for whether to vibrate or not, should have a radio button for the following options:
- Always vibrate, except when phone is set to "Silent"
- Vibrate only when phone is set to "Vibrate"
- Never vibrate ( <--- and I mean NEVER vibrate )