All three syntaxes are equivalent, but looking at the jQuery docs the version:
jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
})
avoids namespaces difficulties on the $ because:
Aliasing the jQuery Namespace
When using another JavaScript library, we may wish to call
  $.noConflict() to avoid namespace difficulties. When this function is
  called, the $ shortcut is no longer available, forcing us to write
  jQuery each time we would normally write $. However, the handler
  passed to the .ready() method can take an argument, which is passed
  the global jQuery object. This means we can rename the object within
  the context of our .ready() handler without affecting other code: