I do agree that projects are the most fun when you're building something useful that you want to use. I sometimes fall into the trap of convincing myself that what I'm building isn't very good though, or that is already exists.
This also applies to problems which: "already exists" and/or are considered "very hard or near impossible"
P.S. If nothing more, (re-)implementing a solution will always provide a better understanding of the problem at hand.