In his foreign policy Bush has done a good job: he did what was needed, he invaded Iraq and put the world's number one supporter of terrorism out of business. Not that the MSM would ever give him credit for it.
Where he has screwed up is with immigration. He's allowed his administration to be bullied by the Big TV Networks and the Dems, who desperately need more Dem voters, into supporting amnesty. Ten million new Latino voters to support income redistrubution is just what the Dems need.
Now, the question is, can the GOP majority in congress survive this amnesty give away? We'll see in November.
Kerry was caught in a lie and Bush has been exposed in a dereliction of duty. Kerry lied to gain personal power and Bush declined to fulfill his oath to see that the (immigration) laws were faithfully enforced in order to conform America to his vision of the future and to preserve his legacy as being on the right side of history.