Major was actually a very good PM. His policies were largely effective and he remains the leader with the highest voting majority in Parliamentary history [Blairs landslide victory was won with far fewer votes].
Major had the crushing misfortune of being seen as devoid of personality - where he was merely humble and thoughtful - and being surrounded by the sleaziest bunch of shitweasels ever to grace the benches.
Cameron, by stark contrast, is a clueless overentitled incompetent surrounded by far worse clueless overentitled incompetents.
I say this as an ardent lifelong Leftie.