File names contain only letters, numbers, period (.), hyphen (-), and underscore (_).
hyphen (-) vs underscore (_)
In Windows CMD, when I double-click a name which is made up of a bunch of words, if the words are separated by an underscore (snare_soft_01), then the entire name gets selected when it’s double-clicked. Whereas if there’s a hyphen (or spaces) between the words in a name (snare-soft-01), I won’t get the whole name, just a single word of it. So the underscore is just a convenience
Underscore, need one more keyboard press
The hyphen (-) is preferred in urls
The underscore(_) is preferred in variable name in source code