A lot of information is available on the relevance of SaaS and SOA. Wikipedia quotes SOA as "In computing, the term service-oriented architecture (SOA [pronounced "sō-uh" or "es-ō-ā"]) expresses a perspective of software architecture that defines the use of loosely coupled software services to support the requirements of the business processes and software users."
The services in SOA are not tied with a single consumer application and is built for a generic usage. This introduces a lot of complexity to the service, the consumption of these services can be in the most un-intended way and the scale of usage is almost un-predictable during the development time. Traditionally enterprise software has been built for a benchmarked number of users and their scale out attributes at a service level are never taken care seriously. When these Service-oriented applications are put in a SOA infrastructure there could be serious performance problem for most of the services and also the infrastructure where these services are deployed could either be over-sized or under-sized.
Consider Saas, the applications are designed for un-predictable load and service orientation is the heart of their architecture. The core SLA for the services on the web is performance and availability. SaaS applications are built from the ground-up to ensure these SLA's. In SaaS, the customers are not going to be concerned about Scalability of the application, as it is primarily the concern of the service provider. This better aligns with the need of an SOA enabled enterprise, where the scale of usage is unpredictable and volatile.
Once enterprises starts adopting SOA extensively, they might find that the services offered in the cloud aligning better with their objectives than the on-premise services.
