When I feel as you describe above I know it is time for a change (new job). The thing that bugs me though is that you say that you are happy with your current job - but maybe you are just lying to yourself (without realising it) because you feel comfortable?
My job is about as good as it gets. I believe in the work, the people are great, it's interesting and affects lots of people. The downside is the codebase is old and has problems, but I've seen far worse.
Part of me is itching to strike out on my own but if I don't have the discipline to even do halfway well at a job like this, how am I going to deal with a startup?
But maybe programming is not your real passion?
I am in a similar situation right now yet again. I saw that after a year (two years max) I get bored with my job and couldn't care less and then I start looking around, change jobs and the circle begins again.
This time I realized that I need to break out of this pattern because it is leading to nowhere. I am scared to start on my own, but maybe it is just what i need? Maybe if I am out of my comfort I will be actually forced to be active and do things instead of thinking about them and complain.
So, maybe starting on your own is something you actually need, as well?