I've seen a lot of confusion from people over what POST actually means. It does not mean create, and it does not mean update. POST means “send a message to a resource without the expectation of idempotency”. The other basic HTTP methods are all idempotent: if you do the same thing twice, you get (morally) the same result.
Let's clarify. When you use POST twice in a row, sending the same message to the same resource, you are nevertheless anticipating different results from the two operations. This can map quite nicely to creation where the server is creating new resource URIs in response to the messages: different URIs, non-idempotent. On the other hand, if the client is making the URI (a common case where you're modelling a filesystem) then POST is the wrong thing for creation: PUT to the resource you want to create is more typically correct there (and PUTting the same content to the same URI twice results in the same thing: the content exists afterwards at that URI whether or not it existed beforehand).
It is important to realise that REST is not just about simply having collections and values in those collections. It can do much more than that (though in that case you have to do more work to make it all discoverable).