Advice regarding the best approach to use in loops

I am looking for an advice from experienced WordPress developers regarding the best and most durable approach to use in order to retrieve posts under the following conditions:

Our website contain the following pages:
1- Blog page which should display posts (post type = post) and from specific category

2- Old software releases page which should display posts (post type = software_product) and from specific category

3- Recent software releases page which should display posts (post type = software_product) and from specific category

4- Home page which contain single posts from certain categories and post types

5- Hot software releases page which should display posts (post type = software_product) and from specific category

What I am hoping to know ONLY is which of the following I should use for each of the above pages to ensure durability and stability of the website
- WP_Query
OR
- get_posts
OR
- Query_posts

Please note that we have massive records so stability is a vital issue here

Thanks in advance for your time

    Ulrich

    query_posts() should be used in one and only case if you need to modify main query of page. It sets a lot of global variables and will lead to obscure and horrible bugs if used in any other place and for any other purpose;

    get_posts() is very similar in mechanics and accepts same arguments, but returns array of posts, doesn't modify global variables and is safe to use anywhere;

    WP_Query class power both behind the scenes, but you can also create and work with own object of it. Bit more complex, less restrictions, also safe to use anywhere.

    I want to stress that query_post() wrongfully overused in many tutorials around. It is one of the most widespread bad practices.

    Summary: All of them are good, but use query_posts() only only if your loop is the main one on the page. Based on your example, I will say that you can safely use any of these three functions.

    Reference: WordPress Answers

    bpilot

    Thanks a lot Ulrich for your continuous help, highly appreciated

    Two last thing I don't understand, A) In Settings >> Reading tab under our blog control panel, I've made the home page static, and pointed the blog page to another page...

    Now it was very easy to build the static home page template, yet for the blog page it refuse to work on any file except index.php....so is this normal?

    B) As far as I understood from reading through WP help and other tutorial websites that loop.php is like a loop template which can be customized to our needs, or even not used at all....so am I correct here?

    Thanks in advance for your time