In general, I think it's pretty well covered by the
#dontask section of the FAQ (emphasis mine):
What kind of questions should I not ask here?
You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page. To prevent your question from being flagged and possibly removed, avoid asking subjective questions where …
- every answer is equally valid: “What’s your favorite ______?”
- your answer is provided along with the question, and you expect more answers: “I use ______ for ______, what do you use?”
- there is no actual problem to be solved: “I’m curious if other people feel like I do.”
- we are being asked an open-ended, hypothetical question: “What if ______ happened?”
- it is a rant disguised as a question: “______ sucks, am I right?”
It's also covered by Good Subjective, Bad Subjective, which is linked and summarized in the FAQ as well:
2. Great subjective questions tend to have long, not short, answers. The best subjective questions inspire your peers to share their actual experiences, not just post a mindless one-liner or cartoon in hopes of being rewarded with upvotes for being merely “first.” Sharing an experience takes at least one paragraph; ideally several paragraphs. If I’m asking about how to bake cookies, don’t give me a list of grocery items: milk. butter. vanilla. eggs. There is virtually nothing I can learn from a short, static list of grocery items that make up a recipe. Instead, tell me what happened the last time you made cookies from that recipe! Share your detailed experiences, so that we all might learn from them.
4. Great subjective questions invite sharing experiences over opinions. Certainly experiences inform opinions, but the best subjective questions unabashedly and unashamedly prioritize sharing actual experiences over random opinions. It’s more useful to share with us what you’ve done than what you think. Everyone has an opinon. It takes zero effort or imagination to have an opinion about anything and everything. But people who have done things, real things in the world, and have the scars and arrows in their back to show for it — now that’s worth sharing. You should be uniquely qualified to have your opinion based on the specific experiences you had. And you should share those experiences, and more specifically what you learned from your experiences, with us!
The reason they're covered by these guidelines is that, time and time again, any time anyone asks a recommendation question it is almost certain to devolve into a list of favorites, with next to no justification for why anyone should care about that recommendation. Answers usually hinge on weasely opinion language like "it's easy", "it's cheap", "it's awesome", "I love it", and so forth. In this respect, they mirror the thinly-veiled GTKY questions that Aaronaught brought up.
To that point, questions that ask how to do something (where the "recommendation" per se is not the point of the question) are on-topic, questions that ask what will do something (where the "recommendation" is the point of the question) is off-topic. So,
But there might be some value to referencing the specific terms "shopping recommendation", "list of recommendations", and so forth to eliminate any ambiguity. The number of recommendation questions we've been getting have been growing an an increasing rate (I count 14 on the front page right now), and without a clear push to clean them up, Programmers.SE is nothing more than a glorified recommendation service.
And of course, that's not the point of Stack Exchange. We're here to help solve problems, not come up with a dubious list of resources to help solve a problem. People should feel comfortable asking about the problem they're having directly. It'd be like if people asked "Can you point me to a website that tells me how to fix this error I'm getting?" on Stack Overflow: there's no added value to that.
I don't know where Programmers.SE went off the track on this: it might be an issue of broken windows, or something else, but a FAQ mention specifically about this problem could at least act as a basis for bringing the site back from this.
With that said, I do feel that it's hard to use the FAQ as a be-all and end-all to what's on and off-topic, as the basis for the site is founded upon several nuanced concepts, and at a certain point, people need to think for themselves and apply those concepts when deciding if a question is on-topic or off. Just because X isn't explicitly stated to be off-topic in the FAQ doesn't mean all the other stuff in the FAQ doesn't apply.