The reasons politicians lie is because the public doesn't want to hear the truth. People want to hear what they want to hear. When two candidates are running and one of the tells the truth and the other says what the public wants to hear, the one who says what the public wants to hear wins the election. Conclude that if you want to win an election, you better start lying, because the guy who's telling you the truth doesn't have a chance.
I think no politician will speak the truth, since the winner is the one who tell lies more than the others. But sometimes the politician will fulfill people hope when the next election will be held to attract people attention.
POLITICAL CYCLE Give promises > win > don't fulfill his promise > next election will be held > fulfill his promise > people get interested > chosen again