"Do you know any good apps?"
"认识" (認識) is generally reserved for knowing a person, and has a connotation of "recognizing" or "being familiar" with someone (or something, usually abstract concepts). 知道 is used for being aware of some specific thing, in this case the existence of good apps, so it's more appropriate here.
Because the answer is not accepted without 有, the English question is being taken to focus on knowing whether such apps EXIST, rather than one being familiar with (any) apps. Sort of: Are there any good apps that you know of? Perhaps the use of 知道 without 有 might mean something like: Do you know the ins and outs of any good apps? In other words, is might imply a deeper level of knowledge. Can anyone shed any light on this?
Long explanation not needed. Yes/No questions require 吗。That's really all there is to know why the sentence was originally incorrect. You can see that Duolingo has revised the sentence to now correctly include the 吗 since you've first asked it to be explained.
But I will explain it anyway... 什么 does not make things into a question. 我知道这是什么 (I know WHAT this is) is not a question. 有什么 basically means "what exists", so the extremely literal translation of the original question is "Do you know WHAT(什么) good apps exist?"
There's only two instances where 吗 can be omitted. First is to use 知(道)不知道。你知不知道有什么好的应用？
Second is to use 呢 if the pretext already includes the topic.
For example: person1: 你在找有的好应用吗? (Are you looking for some good apps?)
person2: 对，你认识有的呢? (Yes, do you know any?)
It actually should be required here, as the question is "你知道…吗?" If it isn't I believe that is a mistake. Although the presence of the question word "什么" may make one think that 吗 isn't necessary, in this case 有什么 is modifying the phrase 好的应用, implying a question about their existence.
In this sentence "有什么" means something like "are there any". 有 is existential, while 什么, commonly translated as "what", is modifying the phrase that follows it to imply a question about the existence, and is more naturally translated as "any".
Although I'm not a native Chinese speaker, I imagine that excluding this phrase is as awkward and ambiguous as it would be in Enlgish: "Do you know good apps?"