Well, can't add much to kplhardison's response which is pretty comprehensive, except to suggest that whether we think Heathcliff is a protagonist or antagonist might depend on how we read the novel and sympathise with him. Heathcliff is unique in my experience of teaching the novel in producing love/hate relationships in students - they admire aspects of his character but at the same time deplore his acts of cruely. In fact, the novel seems to be hero-less - Edgar is rather a weak character, and although Heathcliff is strong and brave, his actions make him more of an anti-hero. You could argue that Bronte was in fact subverting the novel form, denying us a hero character and confusing such distinctions of protagonist/antagonist that apply to "normal" novels.
This is a very good question because we generally expect protagonists to be good and noble and trustworthy examples of how to live in similar situations. However, Heathcliff, though he at first rises above his obstacles, becomes torn with bitterness, hatred and desires for revenge. These traits do not ring true with the ideal of an heroic protagonist.
Nevertheless, when you realize that the conflict of Wuthering Heights is the conflict of "man against himself," the situation of Heathcliff as protagonist becomes a little more clear. (This conflict applies to Catherine, the second protagonist, as well as to Heathcliff.) Heathcliff's struggle is against his own dark nature and choices. In other kinds of conflict scenarios, the conflict comes from external elements or individuals. In Wuthering Heights, the things that Heathcliff (and Catherine) has to battle against and overcome arises from within himself. This creates a blurry edge to the ideal definition of protagonist.
When you consider Heathcliff's character traits at the beginning of the novel and then consider his later rejection of destructive traits and subsequent regnewal of admirable traits at the conclusion of the novel, you can see more clearly how the wickedness in the body of the story stems from the protagonist's inner conflict instead of stemming from an antagonist's attempts to overpower a protagonist.
In summary, Heathcliff is the protagonist with noble character traits (seen early in the story) who battles the conflict from the antagonistic hatred within himself. Like all good protagonists, Heathcliff does overcome and win the conflict in the end. This does then give us a model and an example to follow should it so happen that we ever erroneously and grievously give in to our capacity for hatred and revenge.
It depends on the way you look and the novel and as a reader the way you interpret the story. There is no wrong answer!
In my opinion Heathcliff is the protagonist that turned into the antagonist. What I mean by this is that in the beginning Heathcliff was basically casted as outsider and seen as a beast. Although he never did any wrong just because of his status as an orphan he was looked down on and constantly shamed.
Heathcliff later uses this shame as fuel to revenge. He goes from being the victim to making the victims and because of this, for me this is what made him the antagonist throughout his older life in the book.