There is a great interview on PVRBlog with the creator of the TiVo name and mascot. It describes the process by which the names were whittled down and decided on. Although I have no clue how this process actually works at Microsoft, here is how I think it might for one of our products:
Tech Dude: We have this cool new product that lets you record TV on your PC, we need a name.
Marketing Dude: What OS does it run on?
M: OK, and what is its purpose?
T: Its the center of your media experience.
M: When will it ship?
M: "Windows Media Center Edition 2005" is the name for you.
<fx: Marketing person leaves the room>
Compare classic, memorable product names of recent years (TiVo, iPod, Google, Eclipse) with some related Microsoft names (Windows Media Center Edition 2005, Windows Portable Media Center, MSN Search, Visual Studio .NET 2003). With the exception of the Windows Client team (XP, Vista), we are really pretty bad at giving things catchy names. I mean the first three nouns in my list are so good that they have spawned verbs of themselves.
Sometimes Microsoft have cool internal codenames (e.g. Indigo) then someone gets a hold of it and turns it into "Windows Presentation Foundation". WPF - sounds like WTF when you pronounce it...