scripting/programming come into play in a number of different areas and to differing degrees.
the most basic kind of scripting would be something like a channel expression - in the TX parameter of an object > sin($F) or a reference to another channel "ch("/obj/someOtherObject/tx")"
these kinds of scripts can be simple or very complex and written in hscript or python
VEX ( http://www.sidefx.com/docs/houdini/vex/_index ) would be used to write 'custom nodes', a wrangle is just a container for vex script that does stuff, which makes the wrangle act like a custom node.
vex is super powerful and can do lots of things that would be hard or impossible with Houdini's default nodes alone.
Houdini has HOM (Houdini Object Model) and this exposes most of Houdini in a python interface - so you can write custom nodes, tools with UIs etc and just generally interact with Houdini using python.
so it really depends on what you're doing, what your end goal is at any particular time.
having a good foundation in scripting/programming means you're better able to take advantage of these things to get work done.