While working on a project that started from school, it's aim or purpose changed around a lot. It came to a point where as a developer I felt that we were doing to much, and we didn't really have a clear focus. When developing a product, or even providing a service, you want to have a clear purpose, or vision in mind. So that your product solves a particular problem, or centers around a particular function. Some of the programs out there that provide a great user experience, are the ones that are fairly straight forward to use.
When you're initially coming up with a project, just write up a paragraph or a sentence of what you want to achieve. Basically what the core purpose of the project is, and stick to that. If down the road you're thinking about a feature to add, be sure it's required, that your program can't function without it. If it can live without it, drop the idea for that feature, and put it on the back burner for now.
Not only is a clear cut project better for the consumer, it's also more fun and easier to develop for.