I could build them myself and then watch them break over time, or I could pay someone else to do it, and have more time to build things that I really want to build. That's the point of SaaS.
My complaint isn't so much against SaaS as a whole as it is against things that violate the Unix philosophy. I'm against things that try to do many complex tasks and don't provide a simple text interface (or RESTful API or whatever).
The tradeoff is you get basic features all at once with little overhead. What you lose is any ability whatsoever to make other things work on top of the service/program/application/whatever you're using.
The reason this is always bad is because you're only a first time user once; you pay the startup/integration/setup/whatever cost once. After that, you're a user and you get to suffer under the poor or non-existent integrations forever. See also: http://xkcd.com/1205/