With the outsourcing of most first level support to India, Costa Rica, and other countries where virtual slave labour is legal, calling tech support means fighting with script monkeys who cannot think, nor deviate from a script.
If it is a company you deal with regularly, you can learn the magic words to get escalated to second level, where you actually stand a chance of success.
The ability to communicate well in English (since I am an English speaker. I imagine the same is true for other languages) is often lacking, the staff often have little to no training outside of a script to follow, and it becomes immensely frustrating.
Additionally my experience is that the first level people not only are not well trained, poor communicators, they are also often inept at taking notes. Thus the time wasted explaining the issue to them, needs to be repeated if you succeed in getting escalated, since they did not take any notes, as you were explaining the issue.
I find that even when I write a comprehensive explanation with versions, logs, examples, (much like you would hope to see on sites like this) they either do not read it, or do not understand it.
Even though all the details needed are in the report submitted, I get re-asked each question. Maddening!
Why would I want to submit myself to that, if I do not have too?