Basic Unix commands make it easy to determine whether files contain particular strings. Where would we be without commands like grep? But sometimes when using grep, you can get answers that under- or overreport the presence of what you are looking for. Take a very simple grep command for an example.
$ grep word mybigfile | wc -l 98
Commands like this tell you how many lines contain the word you are looking for, but not necessarily how many times that word appears in the file. After all, the word “word” might appear twice or more times in a single line and yet will only be counted once. Plus, if the word could be part of longer words (like “word” is a part of the word “password” and the word “sword”), you might even get some false positives. So you can’t depend on the result to give you an accurate count or even if the word you are looking for appears at all unless, of course, if the word you are looking just isn’t going to be part of another word — like, maybe, chicken.