This is something I've struggled with in the past. How do you decide when it's time to kill a project? While building something, it's easy to get attached to it and lose an objective view. Sometimes an idea can seem so great it makes you rationalise signs that it just isn't working. I've killed 2 projects and these are the reasons I did it.
Poor retention or usage
This is one of the most obvious signs but it's not always a sign to immediately kill a project. While having poor growth is worrying I think it's a lot better to have at least a small amount of active and consistent users. Of course, you should try as many tactics as you can first before you give up. In my project, TapTag, I tried a ton of approaches to keep users active and while they had small short-term effects, it never lasted. If your project can't hang on to its users or keep them active enough naturally you might need to consider killing it.
Lost for Ideas
When I get to the stage where I'm completely out of ideas to how to improve a struggling project that's another sign it might be time to move on. I'm usually filled with ideas of new features that users want or obvious ways to improve based on analytics and feedback. When I run out of all those I begin to seriously think about killing the project.
So what signs do you look for that it might be time to move on?