$ is probably the only non-alphanumeric ascii character without a special meaning in Mathematica and thus the only one you could use as a delimiter for various parts within a variable name.
A warning is due: Because it is so unique, it is also used internally for the same purpose, e.g.
Unique will generate variable names ending in
$+ an arbitrary integer:
In some cases, also
Function will generate variable names ending in
$ for its arguments. You can read more about this here. To stay out of potential problems I would not use variables ending in
$ + integer.
Another case where
$ seems to be used as some kind of internal convention are symbols which serve as global variables like
$Path ..., but you can avoid conflicts by using a lowercase letter for the second letter of the variable name.
Other than the mentioned cases, I wouldn't expect problems when using
$ within variable names. It should be mentioned that due to the possibility to use non-ascii letters within variable names, people often use such characters for similar purposes, e.g.:
which will look nicer in the frontend, but won't render nice in the Wolfram Workbench editor.