There have been a number of questions on Meta regarding shopping questions. They deal with why they are unacceptable or how to phrase the question. However, there is a grey area as to what is actually considered a shopping question.
A simple definition would be if the question deals with software or hardware you don't already own, and it isn't to solve a problem with something you already own, it's a shopping question. However, we seem to make a lot of exceptions to this simplistic rule. For example:
Anything needed to make an existing system operational (drivers, diagnostic utilities, etc.), seems to always be on-topic. Is this correct?
Software requests that deal with non-critical system issues, or enhancement to the computer infrastructure (hardware/OS), tend to get a pass. This is especially true if they are focused on a narrow issue (I need a utility to adjust the system clock). Software of this nature that has more of an "application" flavor, like backup software (which also deals with user files), is sometimes deemed off-topic. How do the rules apply in this area?
In the area of using the computer as a tool to do something, software to perform a general activity (I need an image editor), is clearly off topic. Software for a specific, narrow task or problem, (I need a way to attach a sticky note to a text file), will usually not be rejected. Is that a shopping request?
Might the expected size of the answer list be a driving factor? If there is a "right answer" (a single item or a couple of widely recognized alternatives), that has a different flavor than a popularity contest of endless choices, and discussions of which is the best.