The Titan X is Nvidia's latest top-of-the-line enthusiast graphics card built on the Pascal architecture.
"Titan X" is also the name of Nvidia's last-generation top-of-the-line enthusiast graphics card, built on the older Maxwell architecture.
To be clear, these are both high-end Nvidia graphics cards, but are very different products. They have different looks, different internals, different specs, and different costs.
It appears that the newer card is technically billed as "NVIDIA TITAN X" while the older card is billed as "GeForce GTX TITAN X" (though I'm sure they are both colloquially referred to as plain "Titan X"). However, the "NVIDIA" and "GeForce GTX" qualifiers apply to both cards. Both cards are made by Nvidia. Both cards are in the GeForce GTX line of graphics cards. So their primary distinguishing feature, their architecture, is not present in their official names.
Is it good user experience for a company to name different products the same thing, as Nvidia has effectively done with their Titan X's?
I would say definitely no because it will only confuse consumers and make SEO a pain. It's not like Maxwell Titan X's have suddenly stopped existing or stopped being sold. It could not have been that much more work for Nvidia to call the new card something like "Titan X2" or "Titan XP" or "Titan Y". Are there pros to such a naming convention that I am missing?
(Note that I'm sure Nvidia is not the only one to do this. I just couldn't think of other examples offhand.)