This time around I have done my best to fight the temptation to start new things. For me the toughest thing has been keeping from doing major work on my engine. Right now it's not very data driven and every time I do something that could be better handled by just working on an external data file it pains me to no end but I suck it up.
When it comes down to it you can have the cleanest engine or the coolest game idea but you're only judged by your final product. How many amazing screen shots have you seen of games in development that never end up seeing the light of day?
To help me keep the eye on the prize and working on my main project I've kept all my "new" ideas in a paper journal so I always have them for the future. Another way is to keep focused on my eventual "dream" goal. Having a cool game or engine isn't my final goal with these side projects. My final goal is being able to work on what I want, on my own time. Having a shiny engine isn't going to help me build a company, a good reputation, a product line or revenue stream as much as a solid completed game.
Keeping my dreams in mind and believing in them, no matter how unrealistic they may be, helps to keep my mind on track.
Excuting a home grown product is tricky. Not impossible, but best case you have limited resources.
I hope you succeed, because that is the same path I am working towards too. Although I'm pondering the idea of a general contract house that does complete products internally and handles contract jobs with the same talent in several fields, not just games. :)