I've got good experience in Java and web development with some experience in C++ also. Lately, I've been thinking of leaving Java (bored with it) for C++. Then came Python(didn't like Ruby). I find it too good to resist and started using it. But the C++ still stays in my mind. 
Now I want to "stick" with one language to be fluent with it.
Python is great for quick programming but its too easy and I fear it would dumb me down. C++ is tougher but I doubt if I should use such a language where more time is wasted in keeping the compiler happy.
Which language should I stick with. Any comments?
It really depends on what kind of work you are planning to do. But, really, most high level programming languages operate on very similar principles. If you understand all the underlying concepts, switching from one language to another is just a matter of changing your syntax. 
Still, if you're insistent on sticking entirely with one language, I'm a fan of java. I think you're right that C++ is a little clunky for large tasks. You can probably accomplish anything with java that you can with python, but it trades some of the smoothness of python for a more direct relationship between what you're doing and what's actually going on. (At least, that's my opinion, as someone who has spent a LOT more time using java than using python. Experts in both might disagree with me.)
Which language should I stick with