I feel one issue is being missed in this excellent discussion. Most of the organisations go in for what is called UAT - User Acceptance Testing. That is, the customer itself tests the software using its in-house team. This is usually the IT team who coordinates with the vendor for deploying the software. This is from my limited experience in the various projects that I have been involved in my work place - I have myself been a part of the UAT teams when the software was to be used for our departments.
My gut feel is that independent testing would be for niche and complex software, which could be a limited market. Please correct me if I am wrong.