Post types are a way to categorize different types of content in WordPress.
WordPress has already the following native post type:
- Navigation menu
- custom CSS
Most probably you just knew about the first three in the list.
And you can extend these wordpress post type with your own.
To do this you here it is a little function recap.
add_action( 'init', 'custom_posttype_def', 0 );
There is another way to create a custom post type. It’s using the plugin Custom Post Type UI (or CPTUI). In this case you can create your post types directly in the wordpress admin with a simple UI.
Of course it depends on what you need from Custom Post Types.
If you are creating a plugin it’s better to create them inside it.
If you need them only for you personal use then it’s easer to use CPTUI.