A lot of questions in this one. I'm probably not the right person to give you all the answers or the full depth of them, but here are a few basic things that may or may not help out
SOP-import:will import things from within the same workfile from a SOPs network, not from disk. If you have done work in SOPs it can be handy for bringing it in to solaris, but I'd then rather use SOP-create to keep it all work inside of the solaris context.
SOP-create:Will create an adhoc SOPs network disguised as a LOPs. Very useful for building things, lookdevs and other stuff (have a look at grid for example, or pighead).
SOP-modify:Will also create an adhoc SOPs network, but also import whatever usd/lops content that was above it. Then you could blast stuff, model, do FX, UV map or whatever you want, and it will automatically be merged back as a replacement. OR, exported separately as a FX layer to be loaded back with reference (with primpath set to object changed, or new primpath), or if used with a layerbreak loaded with sublayer.
Reference:Will import usd files or alembics etc from disk, and use the primpath to place them within the stage usd hierarchy. I.E. You might already have imported a lookdev with the primpath "/assets/foobar". If you later import the anim with a reference node and primpath also set to "/assets/foobar", it will merge them and inherit shading, uvs and other stuff.
Sublayer:Will import usd-files from disk that already have "a place". For instance, in a proper usd workflow, only changes below a layerbreak would exported. Trying to reference that in would not work, since it is only partial information (the changes). So it needs to merge with other layers to work.
Example, if you have export a cube (/objects/cube) as cube.usd. Then (as an example) you also export that but with a layerbreak and a transform of the cube moving it as anim.usd. In a new file you now need to sublayer both cube.usd and anim.usd to see it working. anim.usd will not contain the cube itself.
Variants:You create your geo however you want. Then add variants on new prim with path set to the top prim. (this prim cannot exist in stage at this point), from your geo, you can connect two assign material nodes, or edit materials to change disp or whatever you want. wire those to the variant node.
Then you should be able to right click on you instances and select variant, or create a setVariant node and add the instance number. Variants can be a bit tricky to understand for sure.
So to simplify, sublayers purpose is to combine the changes from different departments, while reference purpose is to bring in completely separate/standalone things. Reference has the same usecase as the nodes: volume, geometrysequence and value clip. I.E to bring in complete files.
As for payloads and settings for editable layer, instancable etc, It's all a blur for me still. I tend to leave it to the default.