It's not the visual designer's job to prepare interactive mockups, but rather that of the UI / UX designer. True - often they are one and the same, mainly due to budget reasons, but their jobs are very different.
Your question could in fact be rephrased as Static vs. Dynamic mockups.
In my opinion dynamic mockups are almost always superior to static ones:
The main reason in my opinion is that they can be used for accurate usability testing - imagining you're doing something is very different from actually doing it, realizing the time it takes, the amount of clicks, movement, etc. Thus it provides a real feel of the flow in the system.
However, nothing is without a price - creating a dynamic mockup usually requires considerably more time. Moreover, it creates higher expectations with the customer - if you press one button and it does something in the system, you'd expect all the buttons to performs the same (and some might be less relevant to the main scenario).
With a static mockup it might also be easier to guide the customers and developers through the use cases - you simply show the screens one by one in the "correct" order, making sure all the use cases are covered as you intended. While using a dynamic one might give the users "too much" freedom, making them miss key use cases, etc.
BTW - you don't have to be a programmer to create html mockups. There are plenty of tools (for example Axure, Balsamic, Flair Builder and many others) that allow creation of such mockups by non-programmers.