difference between methods of query

query_posts() is just a wrapper for WP_Query that sets the $wp_query global.