Hi!
As far as I have understood, there is a difference in the situations in which REST respective SOAP web services are more suitable:
REST
As the name implies (Representational State Transfer), REST web services are more suitable when you have some resources that you want to apply a limited set of verbs to (commonly PUT, GET, DELETE, POST, which maps to CRUD).
Resources are uniquely identified by (commonly) an URL, for instance:
http://myserver.com/library/books/12345
The URL identifies the book with id number 12345 in the library on myserver. Performing a GET to this URL would typically retrieve the representation of the book in question. A resource representation is commonly in XML or JSON.
SOAP
SOAP has commonly been used with web services that performs some kind of function, for instance addition in a calculator web service.
There are also document based SOAP web services, which, to me, seems to be closer to REST web services. A document based web service receives, for instance, an order and checks if the items in the order is available in stock or not. Note that the "verbs" are not limited, as with RESTful web services.
There is much more on this subject and there are additional considerations, as mentioned by other posters, about, for instance, web service security, tooling etc.
Then there also is RESTlike web services, which, at a glance may seem like RESTful web services but often are RPC web services implemented in a fashion that resembles RESTful web services.
Please correct me if there is anything I have misunderstood!
Best wishes!