Why the best actors are not always the popular actors?

Best actors do not always go for glory and marketing. They act because they love acting. Acting is their passion and not making money. Some people have come to the world of acting after failing in other fields in life as a last resort but there are some who have always pursued acting as their goal in life.
There have been so many talented actors who can be considered as the best actors but they were not always very popular when compared to their counterparts.For ex

a) Kamalhasan vs Rajnikanth
b) Aamir Khan Vs Sharukh

What makes an actor more popular and why the best actors may or may not be the popular actors. What are your views on this subject. please discuss.