>>I have the help topic variables set all over the app, but no longer use it.
we use help&manual , which is similar to robohelp. It allows you to create help as either chm, html, pdf, hlp and other formats. We mainly use chm , html and pdf formats. Its great way to write the help and be able to generate it in multiple formats depending on what you need. You can also include links to videos and other things (file or URL) too.
We use the window title as the way to have the help context sensitive. when a user hits F1, the system grabs the current window title, strips out spaces and other characters that aren't allowed as the topic id, and that is typically the help topic. We also have a mapping feature that looks up the object.windowname to see if there is a more specific help topic setup for the current object rather than a window. This allows the help writer to do all the work without a developer.
our support uses the help file when a customer calls up asking a question about how something works. This makes sure the help is correct and clear. And it also reinforces with the customer that they could have had an immediate answer if they pressed F1. Our approach is to tell the customer when they ask a question: 'Ok, lets press F1 and see what help says' then they read the help to them. Improving help is constant, sometimes it is out of date, sometimes it isn't as clear as it could be. Sometimes it forces us to change things in the application to make it clearer so help isn't as needed. Our support calls have dropped a lot over the years as help improved.
and yes, some customers will call no matter how clear the screen/error message/help is.