From what I've learned so far in competitive battling (I'm not a newcomer but I'm not a veteran either, so I might be horribly wrong in some people's perspective), this what I define the two as:
A check is a Pokemon that is capable of being switched into a Pokemon in order to combat it, but it either fears some of the moves of the Pokemon it's switching into or it can't do much in return/has trouble beating it, therefore meaning the opponent MIGHT switch the Pokemon out. For example, Arceus-Steel is capable of checking Kyurem-W as it laughs at Draco Meteor and Ice Beam, as well as having the ability to 2HKO it, but it fears all of the coverage moves Kyurem runs: Fusion Flare, Earth Power, and/or Focus Blast. Another example is that CM Arceus-Steel is capable for checking Dialga as it doesn't care about anything other than Aura Sphere or Fire Blast outside of Rain, which aren't extremely common and it can be dealt with through CM and Recover. In return, however, Arceus-Steel can do little more than tell Dialga to get out since its two offensive moves, Judgement and Thunder, do next to nothing to Dialga unless it racks up a ton of CM boosts, burn with WoW and attempt to stall, or phaze with Roar. While Dialga can phaze it early on, it still can't do anything to Arceus-Steel without Aura Sphere or Fire Blast outside of Rain. and it doesn't stop Arceus from just coming back, meaning the Dialga user naturally will switch out to something more fit in dealing with Arceus-Steel, hence being a check.
A counter, on the other hand, is a Pokemon that doesn't really need to worry about the opposing Pokemon's most common moves and can actually beat the said Pokemon in return, meaning the opponent WILL switch out. So, for example, Arceus-Ground is capable of countering Thundurus-T since all it has to fear is the uncommon Grass Knot. In return, Arceus can lay waste to it with Ice Beam or Stone Edge.
EDIT: Yeah I guess Skarmory v. Metagross was a rather poor example (I don't even play OU regularly so what the hell do I know) so I'm changing it to another Ubers example to get my point across.
Last edited by ThisMysteriousGuy; Oct 8th, 2012 at 4:19:03 PM.