How to change default content type machine name in commerce kickstart?
You can only set the machine name when you create the content-type. After that, it is not editable anymore. That's why you have to think twice when you create a new content-type. Your only solution is to delete this content-type and recreate one with the right machine name.

If it is only the appearance of the URL that doesn't suit you, you can also use URL aliases modules like https://www.drupal.org/project/pathauto and replace the word 'hats' by the word 'products' for example (in the module configuration).