There are many ways of going about it. Those are simply Oracle/Sun and Microsofts conventions that they follow and recommend. It doesn't mean, in any way, that they must be followed. As long as the code base you are working with is consistent, that's mainly what matters.
For internal stuff and applications, but I think you'd be fairly hard-pressed to find a quality third-party library not following the conventions. But once again, I guess it depends on what you're making.