I have to admit, McCain's candor is somewhat refreshing. Besides the "we'll be in Iraq for 100 years and I'm fine with that" stuff, check out this video. Around 6:19, the interviewer asks McCain about his waffling on the Confederate flag, and McCain admits that he hid his real views in order to advance his political career. (If you think I'm exaggerating, check out the video.)
Incidentally, the beginning of this video documents the hilarious "I can walk through Iraq unarmed" comments.