A single national primary day would assure that only an already-known big name could get the nomination. A successful candidate would either have to be very wealthy (and therefore able to buy TV ad time nationwide) or the selected golden boy/girl of the big donors. Obama could never have gotten noticed in a national primary.
The present system allows a candidate with energy and a message to work hard in a small region and build support. If he/she is successful, then people notice and he gets more support. Momentum.
The present system also is long enough that the candidates are fully vetted before the national election. There's plenty of time to find skeletons in closets and to identify personal weaknesses-things that would be swept under the rug in a more rapid process.
The present system also does a good job of showing if a candidate has the physical and emotional stamina to be President. Sure, McCain is no kid, but anybody that can keep up the pace for months under our present system probably has what to takes to go the distance in office.
Finally, the present system underscores the traditional (and constitutional) role of the states. A national primary would be another incremental move to centralize power at the national level.
Our present system has a lot of flaws, but it is better than some alternatives.