ok, first of all, throw away insert, update, create from your mind..
indempoten too..

lets start with put

PUT is like putting something on server, this “blog’s post” should be created with put
because there will be new url after i publish it
before i publish it, there is no such url
when you use put, your url’s put will be getable

but, the publish button
refer to https://vantsuyoshi.wordpress.com/wp-admin/post-new.php
therefore this “blog’s post” will be created with POST

get it?

lets try again,
use put like attach/upload file and the file will be accessible
use put when the url was not exists

PUT shopping.com/category/videogames
before you PUT it, you can’t get videogames’s category from shopping.com

if you sending data, but no new url is created
then use POST

so both do same stuff, but different result
PUT will have new url
POST no new url is created

PUT shopping.com/category/videogames
GET shopping.com/category/videogames
POST shopping.com/newCategory