You know,
Duke Nukem Forever is probably the most well-known vaporware software project out there, but it certainly isn't the only one.
Free/open-source software has a lot of these. As an open-source developer myself, I can understand why. One issue is that a lot of open-source projects are started by young naive people who do not realize how much time and effort it really takes to make a software program. Probably over half of the projects on Sourceforge fall under this category. One example is MooDNS, a DNS server that stopped development around the time the developer realized what a pain in the butt DNS compression is.
Another way open-source projects get abandoned is when other software that does the same thing comes along. For example, the GNU Hurd never became production-ready because Linux came along and was good enough that the perceived need for Hurd development went away.
Other projects that stop development are projects where the developers stop going to school and get real jobs, and no longer have time to devote to an open-source project. One example of this is the Y Window System
For all of the advantages of Free software, one issue is that, without, by and large, the developers being paid money, there is not nearly as much motivation to get something finished, so a lot of projects become vaporware.
Closer to home, I've told myself for years I would have a thread-free version of a recursive resolver for my own MaraDNS. I finally started writing the code in late 2007. Around the end of 2007, I had a working basic non-recursive cache. The project was put on hold in 2008 while I got out of the Slashdot-posting basement and looked for a girlfriend. I finally got one around the end of 2008, and was able to spend 2009 adding a lot of features to the code, making a lot of releases of the code.
Well, around September of 2009, I got burnt out. Too much work for too little (almost no) pay. I stopped doing major development on the recursive code at that point, but have a really nice non-recursive cache with most of the foundation needed to make it a recursive cache. I do want to get back in to the project; but it's a lot of work and having a few thank you emails doesn't feel like enough compensation at times, especially when the other half of the emails are people asking me to implement their favorite pet feature for fun and for free, or asking for free email support. I finally put a plug on that nonsense by making it extremely clear that I only answer private email for people willing to pay me. Here are some of my rants I blogged about. I do get the occasional "you made this nice DNS server, we would like to hire you" email, but haven't gotten a job from that yet.
I do want to finish up the recursive code, and put closure on my DNS server project, but I just haven't gotten myself in the "develop free software" mindset again.
Maybe it's time to stop goofing around on Slashdot and finish up the code. :)