(noun or adjective) Originally a common abbreviation for communist, a member of the communist party, or someone who has views that can otherwise be identified as those of a communist.
Be that as it may, it is also a derogatory term that has become used by (generally) right-wing/conservative/reactionary individuals to describe concepts, or persons who hold beliefs, that are:
(1) not shared by the person using the word
(2) possibly, but not definitely, liberal, socialist, left-wing, or otherwise not conformed with the accepted republican or right wing point of view.
Also used interchangeably and together with:
fascist, socialist, marxist, red,
pinko, faggot,
leftie, liberal,
libbie, etc. Those who do so might reasonably be assumed to be more vituperative than they are aware of the original meanings of the associated words.