A person who puts forward controversial views
A person who writes polemics
One who whines about perceived problems; a complainer.