When reading about JQuery best practices, I read this recently:
Never include Javascript events as inline attributes. This practice should be completely wiped from your mind.
<a onclick="doSomething()" href="#">Click!</a>
Why is this? Is this interpretation? Personally, I find that JQuery is best when you need to dynamically set events, or set an event to a div. Otherwise, it allows for much cleaner code, as the inline attribute can always call a method of your choice.
btw, article in question:
http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/
One of the reasons why I agree with the article is it involves the separation of layers between your code. Inline code leads to sloppy, hard to maintain code. By including the script files you are reducing the amount of time used to change code / clean up code / fix bugs. If that inline function doSomething() becomes really popular across your projects that embedding it into each page can be a nightmare.
I admit I’ve gone against this at times, but it has bitten me in the past. I can’t say I will completely change my habits 100%, but it’s a good programming practice. It isn’t something that I would consider wrong though. There are millions of shops out there that still do it, they will most likely do it 10 years from now. To each his own.