jQuery(selector) or $(selector) calls the jQuery constructor with the provided selector. document.getElementById(id-string) finds the DOM node with the matching id. The two are not the same thing.
In your case, jQuery will find one matching dom node, which will be present in the node list of the object returned by the constructor. You may access it with .get(0), which then returns the same dom node found by document.getElementById.
jQuery does however provides setters and getters for both element attributes (attrs) and dom node properties (prop). $('#upload_file_sel_link').prop('files') should return the files property for the first node in the list, while $('#upload_file_sel_link').prop('className', 'menu-item') would set the className property for all nodes in the list.