I somewhat disagree with this idea -- it's important to drop unrewarding lines of enquiry, but more because you've reached the point where it becomes clear the answer would be boring than because it won't pay the bills. I mean, you have to get with the program sometimes and drop an interesting problem because you can't afford to continue working on it, but at that point it's not really dropped. It's just become an itch you can't scratch. If the problem is interesting enough, the pursuit is its own reward.