"Should" is one of those words. QA absolutely should not exist. Developers should not write buggy code to begin with! But they do, so QA (in some form) must exist for software to be any good.

QA should find not just bugs but where 'works as speced' is wrong because it doesn't make sense to do it that way.