SOAP stands for Simple Object Access Protocol. REST stands for REpresentational State Transfer.
SOAP is a XML based messaging protocol and REST is not a protocol but an architectural style.
SOAP has a standard specification but there is none for REST.
Whole of the web works based on REST style architecture. Consider a shared resource repository and consumers access the resources.
Even SOAP based web services can be implemented in RESTful style. REST is a concept that does not tie with any protocols.
SOAP is distributed computing style and REST is web style (web is also a distributed computing model).
REST messages should be self-contained and should help consumer in controlling the interaction between provider and consumer(example, links in message to decide the next course of action). But SOAP doesn’t has any such requirements.