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.
If your site is a blog
For sites that are acting as blogs, a page is where you would put information that is important, is not dynamic, or does not change over time.
Obvious candidates are your ‘About’ page or your ‘Contact’ page but, on this site, I also have other pages that are designed to be helpful to visitors. The information on them does not change, and they help visitors to find their way around or get important information. Take a look at the items in the menu above to see what I mean.
Putting them in the menu makes it easy for visitors to find them, 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 – unlike posts, which are replaced at the top of the list every time a new post is added.
Once your pages are set up, and if your site is primarily a blog, you would 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 add new content.
If your business website includes a ‘Latest News’ type page, you can use WordPress’ blogging function to release that information, but you would do it by writing posts, because the latest one will always appear on the top.
A category is part of WordPress’ filing system and should be thought of along with tags. Pages cannot be assigned to categories (or tags) – categories only work with posts.
Think of WordPress itself (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 article I write on WordPress.
But within those articles on WordPress I have some articles 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.
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.