Like anyone else, politicians need a job. If they are speaking to a group that is asking for their expertise, they should get paid for it like someone in the private sector would. This doesn't mean they don't care about the country. If speaking to their constituents they shouldn't be paid of course.
It is rare for a politician to truly be looking out for his constituents. Politicians unfortunately are lining their pockets with speaking fees whenever they can. They may start out idealistic but the ease of this money eventually may lead to corruption, where the focus becomes how fast and how much money they can get.
Of course not, the politicians who take speaking fees are not at all for the best interests of our country, if they are too greedy to run, maybe they should go back to the private sector. The government should not pay politicians for speaking fees, these fees are a shame to our country.
Many politicians and public speakers who are paid do not have any interests of the people at heart. A prime example is Jesse Jackson. He's actually made a career out of race-propelled rhetoric aimed at getting people to hate each other. The more hateful the country becomes, the more he gets paid to talk about. People who talk for money do so for themselves.