An example may prove useful here before we go on: I am the lead (actually only) programmer for GPLTrans, a open-source language translator similiar to Babelfish. It's a fact of life that machine translators cannot replace a human translator when translating languages, but these two pieces of software attempt to perform that same task. Unfortunately, GPLTrans is the worst of the two. In order to produce something that may rival Babelfish, I would need to put some more time and effort into the development of the software itself and the dictionaries that come with it. To get where GPLTrans is currently at today (as of this writing, 0.9.10), I ended up taking a six month break stretching from February to August, 2000. This break was long enough for an archive for abandoned software to notice, and the email motivated me to make a release.
By the end of October 2000 I ended up taking another break for four months (until February 2001). This time no abandonware archive noticed, but I was making up a todo list because I felt I was spending too much time in IRC and just idling on the computer. One of the items on the TODO list was to try to make a release of both GPLTrans and libhtmlparse, another project I put off for a while. A few days after making that TODO, I released new versions of both pieces of software. Although those versions might have not been spectacular, they were enough to rekindle interest in the community.
As I'm writing this I realized that I did not feel like working on GPLTrans at the moment. I could be losing interest again, but now since you've heard an example, let's see what causes people to demand something newer and more attractive.
For some efforts, the actual coding/development of a piece of software or other form of art could be for educational purposes (i.e. to put a technique you saw to good use). One of those techniques could be a new way to develop an application or a new form of literature. With these kinds of things, after you learn what you need to learn, you lose interest because there is nothing further to learn. Interest usually involves commitment directly, so you end up trying to look for something new to do.
Lack of commitment
This type of event is also common. It involves things that pop up in your mind at the moment and motivate you to actually do it. Unless you are 100 percent committed (i.e. you will not change your mind no matter what anyone says), you end up losing interest within a few days. I have experienced this numerous times, most of the time involving me changing my own mind about something after hearing that it's "already been done" or "no one will go for it." Just as interest directly affects commitment, the reverse is true.
Now that we've discussed a few possible reasons for the lack of commitment and/or interest in a particular thing, we can see how we can maintain motivation to perform. One thing mentioned above that is very important is the ability to commit yourself 100 percent regardless of what anyone says. A fear of failure may be the cause of why some people do not commit themselves completely to a certain task at hand. Since they think that what they are thinking of doing has already been done, they think that another entry into the field will ultimately fail. Unless there is a piece of magic that will accurately portray what will happen in the future there is no way to determine if something you make will fail or succeed.
Another thing that would possibly help is to educate yourself via other means, and then apply what you have learned to your current project. This could be as simple as a new data structure. Once a new concept is learned, attempt to see if it is possible to implement it somehow in a project you are working on. After that, do it! Not immediately applying the concept will prevent the concept from reaching your long term memory.
There may be other reasons or solutions that are out there, physical or psychological. Remember this is not a list set in stone, so you can add recommendations you have for others.