I think it must be at least partly personality-dependent. I know people at work who are capable of spending a week or three finding an 0.25% speed increase in our compiler, and then spending the next week or three doing it again, and so on indefinitely. Over the years those 0.25%s really add up, so it's clearly worthwhile work, but I don't think I could do a job like that: I'm just not temperamentally suited to it, because of this non-motivating feeling I get when I think about gradual quantitative improvement. I'm much happier doing a job in which I get to write clear new functionality a lot of the time. But I don't think the 0.25% people are suicidally unhappy in their work, so they must be temperamentally better suited to it than me.
Indeed. Though I notice that, eg. Real Maths (TM), I feel *ought* to work the way way you want things to work (solve this problem or not), actually is somewhere between (someone solves parts of it, someone eventually pulls all the pieces together and I go kaching, and then people endlessly automate it, turning a 200 page original proof into a 1 page technique taught to undergrads :))