It has many meanings. Of course, it refers to a food that is derived from a pig (bacon, ham, pork). it also is a slang word for somebody who shows off or acts in a conceited way. And it can refer to...
A ham is an actor who tends to be either a) overly dramatic or b) obviously enjoys the spotlight.
It's not always a pejorative term, but as a rule, it's a term of derision.
Related ads:
Shopping for History of England deals?
Find Coupons and Promo Codes on Coupons by Answers.com