They offer you a wide range of products.
When you want one specific one, sometimes, after sometime they come back and tell you they cant offer you the one.
You state your requirements to one guy.
That one guy tells your requirements to other guy.
The other guy passes your requirements to some other guy.
Finally someone does executes your requirements.
The first delivery and your subseqeunt deliveries will always be delayed than expected.
When you get to see your delivery, you will always know it falls short of expectations.
During the usage, when you need some hot fix/patch you have to escalate to get the proper attention and resource.
During the end of the project, despite all short comings, positive feedback and appreciation will be expected.
Finally when you get to see the total cost, you will invariably feel, if all this was done "In house" all this could have been done for a fraction of cost with total satisfaction.
As I said in the topic, it is not about the software company, it happens in hotels and restaraunts.
Believe me, I wrote this entire blog post with editing and reediting while I was waiting for my food to be served after ordering here