It's gonna sound like i'm picking on you, but that's not my intent.
It seems that many people have fallen into the trap of assuming that whatever the scanner says is the culprit. I see people all the time throwing parts at something without doing the diagnostic work.
The code in many cases identifies the problem group, not the part. A GOOD tech will know to follow the flowchart/diagnostic tree, and use the datastream to see what's REALLY going on. Then an informed decision can be made.
I think this is where the cheap code readers can hurt consumers that don't know the proper way to fix it, and just assume the part indicated is the problem.