This video explains the differences – the full details are below
Categories and pages are both powerful elements of WordPress, but they’re very different.
One is part of the WordPress filing system, the other is for displaying important (but static) information to your visitors.
A page is where you would put information that is important, needs to be easily found and does not change over time.
If your site is a blog
Those contain important information, they need to be easily found, and the content in them rarely changes.
It is generally not possible to make comments on pages and they help visitors to find important information quickly, because they appear in the navigation menu.
Having pages in the menu makes it easy for visitors to find the information they contain, from wherever they are in the site.
Pages are crawled and indexed by the search engines in the same way as posts are, but they are static: they do not appear in archives and, therefore, do not move down the list every time a new one is added.
Once your pages are set up, and if your site is primarily a blog, you would then generally use posts by default to add new content.
If your site is a business website
If your site is acting as a standard business website, rather than a blog, then you would use pages by default to deliver your content.
The information in them would not change often and you would want them in the navigation menu so the information they contain can be found easily.
Examples would be your ‘Services’ page, your ‘Portfolio’ page, your ‘Terms and conditions’ page and so on.
The exception to that is if your business website includes a ‘Latest News’ page.
In this case you would use WordPress’ blogging function to release news items, and you would do it by writing posts, because the latest ‘News’ will then always appear at the top of the list, or archive.
A category is part of WordPress’ filing system and they should be thought of along with tags. Categories are for filing (categorising) posts, and they only work with posts.
Categories act as archives by listing all posts that have been assigned to them in chronological order, with the newest post always at the top.
On this site I have a category called WordPress and another called Online Home Business.
The WordPress category is an archive of all the posts I’ve written about WordPress, with the newest one at the top of the list.
The Online Home Business category is an archive of all posts I’ve written about setting up and running an online home business, with the newest post at the top.
How to use categories effectively
I said at the top that Categories are part of WordPress’ filing system. This analogy may help to explain how I use them:
Think of WordPress (your blog or website) as a filing cabinet, because it contains all your content.
Within this filing cabinet you have some drawers, which you can think of as categories, and within each drawer you have some folders, which you can think of as tags.
For example on this blog I have a category (drawer) called WordPress, into which I place every post I write on WordPress.
But within those posts on WordPress I have some that discuss WordPress plugins, some that discuss WordPress themes, some that discuss WordPress ‘how-to’s’ and so on.
So I use different folders (tags) for each of those.
Therefore, all articles that discuss WordPress themes would be in the WordPress category and and the Themes tag.
And all articles that discuss WordPress plugins would also be in the WordPress category, but they would be tagged as Plugins.
Again: categories (and tags) are archives that list all the posts that have been assigned to them in chronological order, with the latest entry at the top.
Structuring your site properly like this will not only help people find relevant and related articles it will help the search engines do so too.
Which is all good.
Update: November 13th, 2018
I expanded on the explanations above on pages and categories, and also included a description of Posts, in a recent article – you can find it here.