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?
I have mostly experience in a few of domain-specific languages and a few general purpose languages (C, C++, Java, Delphi, etc.), and I have no experience with Python (only a general idea of it).
You must not judge languages on a basis of how hard they are. You say you have to consider the fact that you have to spend time debugging code to please the C++ compiler. I'm an experienced C++ programmer, and I can write several thousands of lines of code at a time, then compile and run, and everything works on the first try (well there are a few inevitable typos and stuff, like in any programming). So, that argument really only refers to your skill level in a programming language. I always favour C++ for any projects I have, because it is so effective (for me) to code in this language. That can surely factor in as a pragmatic view that you should program in the language in which you can actually be productive (in the short term).
But, when it comes to learning, you have to steer towards what seems applicable in your domain. I do artificial intelligence for controlling robots, so I need the hardware access and I need the complex programming constructs that OOP, GP and TMP offer. So, the C++ choice is a no-brainer for me. You have to ask what are the common tasks in your domain? Where do they stand on scales like low- vs. high-level, networking vs numerical analysis, user-oriented vs. computationally-oriented? What are the most widely used languages in your field (or the one you would like to get into)?
I also want to point out that, as a Linux user, a setup that seems quite prevalent amongst the open-source developers of the Linux software ecosystem is to implement low-level drivers in C, complex software in C++, and high-level software interfaces and plugins in Python. That's just what I seem to observe in many of the open-source software, and I think it makes sense that it seems to use the best sides of all three languages.. that's why I'm considering starting to learn Python on the side.
Which language should I stick with