Well I know about the idompotence of HTTP methods. I also know about what PUT and POST are specifically used for in REST API. But the question is why use PUT when POST is doing the same.
Take the example of Laravel (PHP Framework), In Laravel we fake POST to be used as PUT method to update the data e.g changing a project name. The question is we can do the same operation i.e updating the project name using POST method without Faking it as PUT then why use PUT?