- Some do it for side income.
- Some do it to learn a new language/framework.
- Some do it because it solves a particular problem they have.
- Some do it to test their ideas.
- Some do it to have some projects in their portfolio.
- Some do it full time and call it a side project hoping it to be a successful startup while playing safe calling it a side project.
Whatever may be the reason, whether it is a side project or a full time project or a startup, the original goal is what matters the most. If the project developer achieves his/her goal by doing this side project, it is successful, else it is a failure with some addition to his experience and knowledge.
1. You had fun (which was your goal) and probably you learned something new which you can use in some other more serious projects. So, relax and let it be incomplete. If possible, release it as open source so that someone else can work on it.
2. Find motivation in the fact that by completing it you can make something that may be useful to someone else. You can also look it as an opportunity to practice some self-discipline of completing things you take charge of. It is hard to get in good habits and we should make efforts for it. After all everything isn't fun and fun isn't everything.
Personally I have done both but I want to take the second path and I am making an effort for that. I'm choosing side projects that 1) are interesting 2) will help me learn something new 3) may help me earn some bucks. For example, my current side project is a wordpress theme for building personal website/portfolios targeted for hacker/designers. It is fun and I can use it for my own site. It allows me to learn something new - wordpress theme development/underscores and practice design. It may help me earn some bucks. I will post about it on HN in couple of days once I complete the boring bit - documentation.
Edit: Oh wait. I just noticed I have that.
Edit2 : http://news.ycombinator.com/item?id=4748808