My understanding is that op: is used the same fashion that you might use file
// in Google chrome instead of http:. It helps to communicate to the underlying code that you want to use a file that exists within Houdini rather than a file on disk.
It's worth remembering that you can navigate Houdini through the textport the same way as you would a shell in Linux. cd /obj for example will navigate you to the obj network in that textport. So when you use op: you are telling Houdini to navigate to that node in the internal Houdini file system.
So an ideal place to put it, for example, would be on the “Get Attribute” vop inside of a compositing network. In this context, the Input options are File, or First through Fourth Inputs. The input options are useless if you want to read an attribtue from the SOP context, so this leaves you with using a File. You *could* write your SOP to disk, and read in a bgeo file, or
you could use op: to navigate to the node in Houdini that you want to read rather than a bgeo file on disk.
As opinputpath() allows you to go several levels up, you could have a vop, inside a cop, inside an object level hda, reference a sop, inside an object that is plugged into the hda.