Pages and posts look very similar and they share many characteristics. They both have titles, include text and media content and can make use of featured images. However they have different functions and it is very important to understand the differences so that you know when to use a post and when to use a page.
The best and most important difference is that pages are static and posts are dynamic. All of the other differences can be inferred from this point. What do we mean by static and dynamic? Here static means that the pages stay in one spot unless you physically change it. Dynamic by contrast means that posts can be shown to users in many different ways: blog pages, blog reels on static pages, sidebars, RSS feeds etc.
Posts are listed by date (by default) but they can also be listed by category or tag. Pages use hierarchical interrelationships for example your About page may have a child page of Team. Pages do not use any taxonomy like categories or tags.
The content on pages is always relevant, like an About page. Posts on the other hand will contain time sensitive content like news or events.
Post types serve to distinguish between different WordPress content types. For example you may be an artist or designer and need to display your portfolio separate from your general news (which you would use posts for). In this scenario you would use a custom post type: portfolio.
When your website has been designed and built by professionals, you will already have all of the post types you need (this may change as your business and website evolves). What you need to understand is when to use them and that they have different characteristics to your usual posts. That is, they will have different categories and tags and they will also look and feel different to your posts.
Some common custom post types: