This was originally part of my summary, but it didn't make sense there.
I take issue with "lack of resources" having its own category. It seems like a special case of a lack of procedural knowledge.
If I don't have bread, it's only a problem if I don't know how to get bread and I don't know how to figure out how to get bread. If my elbow is broken and I need to get milk home, the problem is not my lack of working elbows so much as my lack of knowing how to get the milk home without using the elbow. Having a working elbow would also solve the problem, but I really don't know how to instantly fix my elbow. If the fridge is full, the problem isn't the fridge being full so much as my not knowing how to organize the fridge so that there's room for the milk. If there is some constraint such that I can't take anything out of the fridge, I have an unsolvable problem, but absent such a constraint, my problem is better thought of as a lack of procedural knowledge rather than a lack of fridge space.
Of course, not all problems are solvable; if I ask you to lug a cubic meter of platinum back to your house without any mechanical assistance, it really doesn't matter how toned your elbows are; you aren't going to be able to do it - that much platinum would weigh about fifty thousand pounds. It's a problem that cannot be solved, because no procedure exists (within the given constraints) to obtain the desired result. If I ask you to make yourself immortal, it is quite possible that no procedure will accomplish that end within the constraints of reality; i.e. you may have a truly unsolvable problem.
Some forms of resource lack can overlap with procedural knowledge lack, but in some cases the resource is... I'm going to use the word "immediate", even though that's not really optimal vocab for the purpose. But sometimes the needed resource is "immediate", by which I mean to stab in the general direction of something that has to be directly employed in the solution of the problem. Money is a good example of this. Sure, you could frame the issue as not knowing how to get money, but it seems more natural to call it an issue of not actually having money, because the money is to be used immediately.
This is part 1 of a sequence on problem solving. Here is part 2.
It is a critical faculty to distinguish tasks from problems. A task is something you do because you predict it will get you from one state of affairs to another state of affairs that you prefer. A problem is an unacceptable/displeasing state of affairs, now or in the likely future. So a task is something you do, or can do, while a problem is something that is, or may be. For example:
Problems are solved by turning them into tasks and carrying out those tasks. Turning problems into tasks can sometimes be problematic in itself, although small taskifications can be tasky. For instance, in the peanut butter sandwich case, if your only missing component for sandwich-making is bread, it doesn't take much mental acrobatics to determine that you now have two tasks to be conducted in order: 1. obtain bread, 2. make sandwich. Figuring out why you're sad, in case two, could be a task (if you're really good at introspecting accurately, or are very familiar with the cousin-missing type of sadness in particular) or could be a problem (if you're not good at that, or if you've never missed your favorite cousin before and have no prior experience with the precise feeling). And so on.
Why draw this distinction with such care? Because treating problems like tasks will slow you down in solving them. You can't just become immortal any more than you can just make a peanut butter sandwich without any bread. And agonizing about "why I can't just do this" will produce the solution to very few problems. First, you have to figure out how to taskify the problem. And the first step is to understand that you have a problem.
Identifying problems is surprisingly difficult. The language we use for them is almost precisely like the language we use for tasks: "I have to help the exchange student learn English." "I have to pick up milk on the way home from school." "I have to clean the grout." "I have to travel to Zanzibar." Some of these are more likely to be problems than others, but any of them could be, because problemhood and taskiness depend on factors other than what it is you're supposed to wind up with at the end. You can easily say what you want to wind up with after finishing doing any of the above "have to's": a bilingual student, a fridge that contains milk, clean grout, the property of being in Zanzibar. But for each outcome to unfold correctly, resources that you might or might not have will be called for. Does the exchange student benefit most from repetition, or having everything explained in song, or do you need to pepper your teaching with mnemonics? Do you have cash in your wallet for milk? Do you know what household items will clean grout and what items will dissolve it entirely? Where the hell is Zanzibar, anyway? The approximate ways in which a "have to" might be a problem are these:
So when you have to do something, you can tell whether it's a problem or a task by checking whether you have all of these things. That's not going to be foolproof: certain knowledge gaps can obscure themselves and other shortfalls too. If I mistakenly think that the store from which I want to purchase milk is open 24 hours a day, I have a milk-buying problem and may not realize it until I try to walk into the building and find it locked.
Part 2 of this sequence will get into what to do when you have identified a problem.