When I look at my friend's posts on Facebook, it shows how many comments there are to each post. Yet when I look at the comments, there is always one short. Why is that?
Facebook has comment spam filters that will, by default, hide certain comments (unless the post owner goes in and manually unhides them). The comments remain in the comment count but don't show up to the public (if it's your post you can see three dots and click to manage the spam posts).
I'm not sure if there is an official list of what's spam-worthy according to Facebook, but as an admin of a very busy page here's what I've found that gets hidden:
Anything in all caps
A single emoticon multiple times (e.g. <3<3<3)
Significant repetition of characters (e.g "Cool!!!!!!" or "aaawwwwwwwww")
Sometimes (but not always) a link without any additional caption or comment
This happens on my FB page all the time (cute dog pics tend to elicit these types of responses) and you won't be able to un-hide the comments unless the post is your own (or you are the page admin).