Python and Django like snake_case.
AngularJS feels like Java, and likes camelCase.
HTML likes dashed-words.
MySQL docs like snake_case, but I see more PascalCase used in databases. It's case-sensitive, too.
Parse.com uses PascalCase for tables/classes, and camelCase for columns/properties/fields. That's like Java OOP.
Django likes to append _id to your primary keys.
So... the problems start to happen when one piece of named data is passed from one layer of the system to another. It's just a good policy to use the same names at all layers, if possible.