What is the difference between gcc/g++ and cc1/cc1plus?

What is the difference between the two,

The g++ is a compiler driver. It knows how to invoke the actual compiler (cc1plus), assembler and linker. It does not know how to parse or compile the sources.

and should I ever call cc1plus directly?

No.