I have a question regarding the use of hyphens in words with certain prefixes, for example:

> Neo-Nazism  
Neo-Confucianism  
Neo-liberal  
  
Are words with a hyphen but:
> Neoplatonism  
> Neocolonialism



I'm especially confused with neo-**C**onfucianism and neoplatonism; one contains  a hyphen and a capital letter and the other doesn't.

Is there a specific rule for hyphens in words with prefixes or is it purely arbitrary?