iPhone syncing is tied to the other kinds of synchronizations your Mac may undertake -- like .Mac syncing. If a conflict occurs with the .Mac sync, the "conflict resolver" window will appear, usually accompanied by an orange icon. If you've got your dock hidden, you might not notice that the resolver has activated, since the window doesn't appear in the foreground. As long as that window is open, however, your iPhone sync will appear to hang.
This happened to me this morning, when I plugged my iPhone in. An automatic .Mac sync during the night had found a conflict, and having not noticed it, did a full reset -- which also failed -- of the iPhone before realizing what had happened. Resolve the overall sync issue, or dismiss the resolver window, and iPhone sync will continue normally.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20071109130445213