While I think you need to have internal reference names for projects, particularly since marketing depts like to change the names of things from time to time, I find it frankly annoying when projects are given cute names that have no semantic meaning.
Consider someone coming new at an application, and going to source control, and seeing names of famous artists instead of something more prosaic. Trying to find the project that some bit of code comes from can be confusing and frustrating.
"So Marketing calls this 'FizzBuzz', but internally it's 'CoderTest' and it's in source control as.. ?"
"It's mostly in the 'Slimer' project, but there's a bit from 'Venkman' too."
One should keep long term maintenance in mind, and have some sort of codename-to-functional description tracking; especially if you have projects that are expected to live on well past the average employment time of the developer(s) who originally wrote the project.