I had to chuckle a bit when Eric Mann sent this snippet to me. I’ll let his words do the explaining for you:
Ironically, after writing a post explaining why you should never try to replace the version of jQuery bundled with WordPress with your own, I was asked to review why one of my plugins was not working on a specific site. I load some JS in the footer (using wp_enqueue_script() with the last argument set to true) that declares both jQuery and jQuery UI as depedencies.
Both dependencies load in the header just fine. But for some reason, jQuery UI is no longer available when the browser gets to my script at the bottom. It turns out, the theme author is manually including an older version of jQuery in the header, after calling wp_head(). This new include overwrites the global jQuery object, blocking jQuery UI and making my plugin’s scripts throw an error.
Ironically, the theme includes a note directly above the call to wp_head() to remind the developer it needs to be the last thing in the header because plugins are registering scripts and styles that could break otherwise.
It’s clear that this theme author used a sample theme (not the comment about wp_head()), but one would think that he/she would have at least taken the time to read the words right in front of them when placing their code into the header.php file.