I had tried to learn C and C++ a few times before I finally succeeded. The prior times I had too little reason to do so, a factor which is quite important for me.
However, at some time a few years ago I got it in my head that I wanted to built an operating system. I got pretty far, I'd say, for someone who had only used VB.NET before that. I learnt C (and, later, C++ followed easily), and a bit of how to understand Assembler. And, I gained a much more thorough understanding of computers.
C/C++ is probably my favorite language, even though I haven't been using it very often lately.