WordPress has default content types. At the first time you installed WordPress, you will get two content types by default: Post and Page. Most users use Posts for blog posts and Pages for static content. The fundamental difference between the two is that Pages aren’t time-specific, unlike Posts which are usually archived according to dates, months and years.
Sometime we need to publish something with specific content. For example, posting the products what we have for sale, share our portfolio, or make a list for all of our project. But we can’t use Posts and Pages to make that’s happen. We need to keep each type of content separated. So we need to create own type of the content. With Custom Post Types, we can create a new type of items such as Posts and Pages which will contain a different set of data. We will have a new management menu, custom taxonomies, custom meta boxes, and many more utilities that is required for full fledged publishing.