Points I would make from a users perspective.
1) not online, dead links are not help. (covered)
2) PDFs can serve dual purpose, manuel and help, But having to install one program (viewer) when I already need help with another program is not "help". Sufficiently widely used. But always remember that there are possibilities that your program is installed right after a fresh install, or (be so luckey) is the only program they do install :-) the viewers Used to be simply installed with the programs, they no longer are as simple (a program) or small.
3) Prefer not to use video if you do not Need video. Pictures can show menu items, pointer locations, and text below can describe. I would prefer that kind of space was not used. Requires proper codec, some systems can have borked video much more often than not being able to see pictures. At least have it work with built in codec items. Animated GIFs can be useful if done well.
A simple picture slideshow in an Exe format, there are a few (even free) programs that could make them, probably not as universal appeal, but cheap fast, small, simple. Multiple picture slidshows could be triggered from different parts of the program, tying the help system in.
4) The windows help files, searchable, linkable to pages from tabs and sections of the program, is already installed, has worked through many revisions of the OS, even really old windows help files still operate. If I really need it, it has done the job. Not glamorous, but who needs pretty when you just need help. It has been applied in simple form (easy), and more fully cross linked to programs. Handles pictures and drawings, I have not seen videos in them yet.
5) Program Macro, coolest tutorial help I have ever had. I have only seen these used 2 times, 2 different ways. Tutorial that leads you by the nose to do specific steps, moves the curser (or secondary pointer) Shows the menu item or button, talks you through, and the person participates in the action, and it advances as they complete each task properly. Its a game its a tutorial, I am lazy, I learned.
Agent macros, Clippy type help (windows office helper) Program specific help that leads the person by the nose to complete the task they desired help with, including pointing out locations, and features of the program specific to the search topic.
Ramifications, needs a good programmer, lots of testing with users. Becomes unnessisary and obnoxious when unneeded (and wrong),
6) Fun but lost implementations, the Windows Agents, they could talk and present and point, float on top, and be pushed out of the way. Easy to script thier actions. No longer widely supported, never took off, needs install, no longer part of the system, some people hate them. Great but obsolete.
7) Supply DVD, or Data+ video type DVD with program and videos. install program watch videos if desired. Same Idea downloadable and tossable videos, for inital tutorials, not wasting valuable disk space in program folder. If we need it, it is there, is not connected to the program, but does not block Using the program to play on another device while practicing on the program.
8) The [?] and help curser. used more by microsoft itself. No need to bring up help, just push on the [?] symbol the standard curser turned to help and you could get "tool Tip" help from requester boxes, buttons, and other things that would require much more space in the program to properly describe. Very intuitive, fast, and solves the "what is this" questions well.
9) Hover Tool Tips: Very nice, If I am mindlessly parking the curser over the item, because I dont know what I am doing, it would tell what/why that item is, or provide stats or info. Built into the program, fast. They do not seem to get in the way when your finnaly working the program quick.
10) Side bar, and retractable side bar help, in the program itself or side windowed to the program. Proper implementation must be critical, because many of these have been very helpfull to explain what only the developer understands, and some of them have been obnoxious wastes of space, that get in the way. Depends on the program itself, and when they come up, a switch to never see them again would work.
11) Html Help. Offline html pages that open in the default browser, but do not require net connections. They are "ok" cross linking topics works, good indexes are almost as useful as search. My gripes with html would be "packaging" It would be nicer if they packaged the loose parts and pieces into a "web archive single file" type containers, that would still work correctly with any browser today tomorrow and 10 years from now. Supplying some sort of simple single executable HTML viewer, just for those files. Popping the default browser up is not help sized. Be very positive that all the links will be valid, missing pics, that worked on the developers computer but did not get linked correct in install. So i am saying that using HTML would be good, it not working or relying on my cruddy default browser not so good :-) I have blockers, and script killers, adjusted net options. Keeping it simple and collected, and staying away from scripting and .Net stuff, and supplying a very dumbed down viewer. Otherwise its going to break.
I do not know the programming side of the question.