4
There are instances where you get race conditions and loading your js in the footer does 'help' (although not prevent) some of these conditions. What you typically see in these instances is that the js tries to execute before the html element has been loaded giving you an undefined error message.
There are better ways to prevent this, but more difficult to implement.