I'm taking answers in the comments to the following, throwing it up there for grand speculation. I do want to know what you seriously think.
Why did the President decide to speak to the NAACP today? You can read the speech here.
I can think of a few reasons that make sense:
1. Wanted to support some rare issues where the NAACP agrees with the GOP in the hopes of confusing them in mid-term election voting, like school vouchers, and faith-based funding. He didn't mention gay marriage that I saw, but that would have been the same kind of thing.
2. Wanted to make it look like he's done more than he really has on some issues: in supporting AIDS treatment and prevention in Africa, supporting Pell grants (not sure how he could mention that with a straight face), and promoting home ownership among the African-American community.
3. Just simply wants to improve his image with a gracious speech that aims to build some bridges.
4. Things couldn't get worse? After Katrina African-Americans offered Bush a microscopic 4% approval rating. Could it just be he thought what-have-I-got-to-lose?
I have another idea. I think he was kinda hoping to get booed/heckled. It's a political reverse jujitsu move that would have capitalized on the best Republican strategy they've ever had: to divide the country based on race. Then on the news when it sounds like he made a good-faith effort to reach out, those Reagan Democrats they really crave will just see angry black people not respecting the President. Luckily that didn't happen, apart from some Larouche supporters causing a bit of trouble. Of course Bush still wins here because he looks gracious and looks like he made progress toward community-building or some such thing.
But what do you think? He's turned them down every year so far. Now, he decides to go. Why did he really do it?