While they generally won't admit it, often when you call for technical support you are not calling the company you purchase your product from. An increasing number of businesses are farming out customer and technical support to outsourcing companies.
Outsourced call centres generally charge their clients (the client being the ISP etc. that the call centre acts on behalf of, as opposed to the customer who is the person calling up) in two ways. The first is a per seat basis, where the client will estimate the staff required and pay a certain amount per head. Or a per call basis, where the call centre is paid per call taken. They will also receive a bonus (or not receive a penalty) based on whether they meet a service level (determined by the percentage of customers left waiting in the queue for a certain period).
Regardless of how the call centre is paid, they will usually be able to make more money if customers are dealt with as quickly as possible. As such, the emphasis is placed on getting the customer off the phone rather than providing good customer service. Bonuses are paid to agents who can maintain low call times while meeting a minimal standard of quality (mainly based on following the correct scripts). And since the call centre doesn't get paid based on the customers opinion of the client (or whether the customer will continue to purchase their clients products) they have little incentive to enforce good service.
In regards to the Toxic Call Centre problem, technical support has another problem that sets them apart from the rest. You have no doubt heard of the IT labour shortage. Particularly in higher level IT work there are a lot more jobs than there are people to fill them. However there are also a lot of people trying to get their foot in the door at the bottom. And many choose call centre work as their first step.
Rather than working until they have enough money to leave, technical call centre workers will work until they have enough experience and qualifications to move on to something else. As such, you will always be losing your most experienced and qualified agents.
While this may not be unique to outsourced companies, given similar pay and conditions ISPs who run their own call centre will be able to attract a better quality of staff, as there is more chance of being promoted to a higher level technical position. In the outsourced call centre, you either move to a less technical management position, or you leave.
So why do ISPs and other companies outsource call centres to companies with less experience and less motive to provide good customer service. It simply comes down to money. Since outsourced call centres focus on a single service, they are able to run call centres much cheaper than companies who do it as a sideline to their primary business (such as providing net connectivity, flying planes etc).
But are they really saving money this way? Or are they losing money as their customers leave to companies who provide their own customer service. And in a world where companies are replacing personal service with self serve web pages, does outsourcing customer service give your customers further proof you would rather not deal with them yourself?