It sounds like you have well-enforced balance :) I certainly agree with implementing fresh ideas, though personally the caveat you mentioned has been the trick of mastery for myself. How do decide when to move forward, or how do you decide when iteration is going too deep?
Well, above list is as much from things that have worked for me as from mistakes I've caught myself making. Getting lost in iteration, especially. My rule now is if I haven't made visible progress on new features (that were already on the list) in months, it's time to move on. I think keeping a video devlog helps, because if I can't make a new video of it it's probably just tweaking that can wait. Plus if you want to get a handle on the scope of your project, you need to have it all there before you can see how much work it will be to finish.