WordPress allows the user to set the number of posts that are to be displayed on every page. The problem with that feature on the Control Panel is that it affects all the types of pages around the blog. If you set this number to 5 you will have 5 posts on the Homepage, on the categories, on search results and so on.
As you can notice from my sidebar, the only way for the readers to navigate around the blog is through the categories. Having only 5 posts displayed on each category page (which is the number I use for the Homepage) is not efficient since it would force readers to browse across several pages before being able to see all the posts contained there.
The solution for this problem is the Custom Querry String plugin (download link) . After installing it you will be able to set the number of posts (custom queries) for every single page on your website. Here are some of the pages that you will be able to customize: