When I say work, I'm generally referring to a generative activity that reuses concepts which you already know.
And when I say learn, I'm generally referring to acquiring new concepts which you don't yet know.
So to the 9th Grade student, doing algebra is work, understanding calculus is learning. To the accountant, balancing the final income statement is work, classifying novel expenses is learning. To the tennis player, hitting groundstrokes is work, adding more spin to their serve is learning.
In general, working on something while having the perception of value creation is fun. The converse is true of course. For the college professor, grading take-home assignments could be a chore (perceived low value), but grading an in-house presentation could be fun (along with the lively discussion and performance).
In other words, you know your craft well, and are applying yourself to something that seems to create value either in the short or long term, and that's pretty damn motivating.
Learning is the opposite of course. In many case, there is no perceived short-term value. In fact, many times you'll have to stop what you're doing and seemingly regress while trying to understand a novel concept.
The more technical the field, and more of such hurdles, and the harder it is for people to cope with them (which is why there are more politicians than computer scientists).
On one hand though, learning is best done when it is creative and generative - you make up things as you go, and draw in feedback while tweaking your performance there and then.
On the other hand, there are some aspects of learning where you simply have to crunch the concepts and practice into a coherent, lasting, mental package.
Compare: - learning how to type --> best learnt by doing - learning how to write an essay --> requires you to read samples of good essays, and then trying to apply some of those snippets to your own - learning how to program --> requires ability to spot patterns, together with consistent experimentation - learning how to exception handle a non-blocking request in Continuation Passing Style (CPS)
I remember when I faced that last problem. No amount of brute forcing was going to help. I had to step back (first figuring out that CPS was the solution), learn about CPS, then try and implement it. (for the technically savvy out there, I'm talking about the workings of call/cc)
Oftentimes, the first implementation of anything is haphazard, done by recognising and copying patterns in other examples rather than forged through true understanding; my code looked right, but I didn't know why it did. Only after more reading, and more tweaking, did I finally "Get it" with CPS, a process that took about 2 weeks.
This wasn't just a case of doing things and instinctively "getting it" (like riding a bike). Rather, it involves embedding a firm theoretical framework into memory, keeping it in memory, generating your own hypotheses using that framework, testing your hypotheses in the real world, and then checking the feedback with the framework - again and again and again.
Now, repeat that 10,000 times with 10,000 different concepts, and you've achieved mastery in your field!
Most of the time, this is fun, but you'd be naive to assume that it's always the case. Furthermore, the most foreign concepts are the ones that require the most brainpower, the most willpower, and the most time to get through.
Incidentally, being in a good mood decreases working memory capacity. So perhaps there's a legitimate reason for getting all grouchy when agonising over a series of mathematical proofs =P.
In any case, the point I'm trying to make is that learning something new, especially in a technical field, is a painful process. Nonetheless, it is a necessary one, that distinguishes the best from the rest.
For those in the student phase (as I am), we need constant, discretionary reminders to get back to basics and look at the problem again and again, avoiding hackish solutions that "magically work". For those in the field, it's about setting aside the time and resources to get back to learning new things again and again, remebering that magic isn't only worked from the fringes of knowledge, but from the core as well.