I've forced myself to wait a minimum of 24 hours before rejecting a design and it has always served me very well.I've just completed designing a logo for the project I'm working on. Lacking experts around me whose judgement I could rely on, I came up with the following creative process:
1. Come up with an idea and prepare a demo/prototype.
2. Show the demo to a few people around you, preferably those who have some semblance of taste, but they don't have to be experts. If you own a smart parrot, the parrot will do. Since you want to avoid disclosing your idea to competitors, those people should preferably be either close friends or ones who work in a completely different field.
3. Note their reaction. If it is silent or if they say something generic and don't go with an enthusiastic "WOW" in the first three seconds, they are unimpressed. Expect them to be unimpressed, but don't worry about it right away, because even if you showed them, for example, a Paul Rand-designed logo pretending to be your work, they would not recognize it either and would remain unimpressed (they are not experts, remember?).
4. Wait 24 hours. Then ask yourself if you are bothered at all by the disinterest of the people you showed your work to. If you are indeed bothered, it means that your intuitive/emotional brain is telling you that your work is not good enough and that you should go back to step 1. If you are not bothered at all, it means your work is as good as your intuitive judgement is, and you can move on.
The goal is to convince yourself that your work is good enough. Once you achieved that, the opinion of others doesn't really matter. I find this algorithm to be pretty efficient; it lets me hone in on a correct design within a week's time. Your mileage may vary.