Grammar Check and I are both lovers and enemies. Like Spell Check, Grammar Check is both a useful and debilitating feature on Microsoft programs. Usually I roll my eyes at the suggestions Grammar Check gives me, (and occasionally yell "That's not a frackin' fragment!!), but in the end I feel good because I know things that a computer can never know.
Grammar Check reinforces that language is more complex than even a machine can understand. See, while language has rules that a programmer can use to define language in a system, language also has exceptions to those rules. And a computer has difficulty understanding embedded phrases. So, for example, if I say "Here are the civil engineering summer and fall updated reports", grammar check wants to replace "are" with "is" because logically, the subject of "are" follows directly after, right? And "civil engineering" is singular. However, what the computer doesn't realize is that "reports" (plural) is actually the subject of the verb, thus the verb needs to be plural. But I imagine in order to define such an easy concept (for our language instinct carrying brains) requires impossible programming rules, since it can change on a whim.
That's why Grammar Check and Spell Check have to be used carefully. While they can be useful for catching a misspelled word or an accidental misuse of tense, ultimately computers can only understand the basic logical framework of language. The complexities and twists and turns that we instinctually make as native English speakers is impossible to define for a programmer (though, I hear they are getting closer). When it comes to language and grammar, we are always smarter than our computers (even if we can't always spell properly--but don't forget about those tricky words!)
If you are interested in more about language, I highly recommend Steven Pinker's The Language Instinct. He's a really smart, really easy-to-read guy, and as language has always fascinated me, I adored his book.