For instance, in C # (sharp) a convention is to never use underscores in variable names even thought that is technically allowed. Myself, I don't see the big deal. I mean, all it does is make the coding more readable (or "as readable"), than slamming words together which contain some specifically placed lower case and upper case letters for readability.
But I do see the advantage in some unofficial rules. For instance, a leading underscore in certain languages indicates privacy and that could make sense.