The short answer, of course, is that you can't expect decisions made by humans to be consistent.
The longer answer is that what's off-topic and on-topic is not determined by one user's comment on a question, but by the democratic process of voting to close. On a wider scale, discussion here on meta sets a written policy for what is on- and off-topic, and it's then down to individual users and moderators to decide each question.
App recommendations and other kinds of "shopping advice" are off-topic because they're often opinion-based and subjective. Sometimes the only objectively correct answer can be the list of search results from Google Play: but this is only correct until someone releases a new app, or discontinues an old one. Questions where you have a specific problem to solve - one that you can't easily search for in Google Play - are on-topic even if the answer happens to be "such-and-such app can do that".
Different users and moderators draw the line between those two kinds of question in different places. Some users are very quick on the trigger, and close any question that includes, "Is there an app that can do this?" to encourage the questioner to think more about the problem he's trying to solve (and to edit the question accordingly). Some users are more inclined to look to the underlying problem and ignore the exact wording of the question.
Of course, because the decisions are made by the community, whether a borderline question is closed or not depends on who voted that time, and maybe even on what mood they were in that day or how well they understood what the question really meant. Requiring five votes to close a question smooths out the inconsistencies somewhat, but it's still easy to find pairs of similar questions where one was closed and one wasn't.