Houdini's default convention is all cap, but it doesn't has to be all cap. However, following Houdini's convention will make it easier for other people who may be debugging your file tho.
Those variables are simply attribute variable mappings. It simply makes it easier for you to access an attribute else where down the node chain. Another type of variable are the global variable, as can be done in Edit -> Variables and Aliases menu (ie. $PI). These are also accessible in similar convention as attribute variables, except these variables cannot vary on per-point/prim/vertex basis.
Without these variable mappings, you'd have to use functions such as point(), prim(), vertex() to access an attribute information. As you can see, your parameter gets longer and harder to read. And to an except, may be a little slower too.
As for some of those default operator related variable mappings such as $CR, $VX, $ACCELX, etc, you'll have to look at the help card for these. Once you've used them long enough, they'll come almost naturally to you..
You can also RMB on a node and select "Extended Information". In there, you will be able to find information wrt whether an attribute data type is 3-float or vector type, etc.
POPs don't behave quite like SOPs. In a way, you almost want to think of POPnet as single SOP node, in which you are defining the rules of particle behaviour inside a SOP node. If this makes any sense.
HTH
-A.