There's no difference. Other equivalent extensions are .cxx, .c++, .C (not .c)
The choice is mostly arbitrary, but try to avoid .c++, since it may cause problems for some tools, and .C, since some platforms use case-insensitive file names.
.cpp, .cc, and .cxx are all fine, but pick just one for a single project, just for consistency.