Not just cleaner (which might be debatable), but having a separate ON clause allows you put criteria for selecting rows after the join has occurred in the WHERE clause, which are different than criteria for making the join in the first place. Or so I prefer, but whatever.