Some are actively designed to make you give up on the call, at least that is what it seems like to me.
How many times have you called and the prompts go:
Press 1 to talk with sales
Press 2 to talk with marketing
....
Press 9 to talk to tech support, the only reason anybody dialed this number
Then:
Speak your 18 digit account number, being sure to pause between each digit to make sure the computer records it correctly.
Then:
Speak your phone number
Then:
Speak your 24 digit hexadecimal product code
Finally you get through to a person and 100% of the time they ask you for all of that information again so they can type it in (and get it wrong).
And even when you get a person on the line they make you go back and do all of the stuff you already tried before finally transferring you to someone with half a clue.
So they can know who they are talking to. IDK in the US, in Spain most services use DNI (national identity document 00000000A) to identify a client and the telephone number as most easy way to know which location is the customer asking info about (people might have more than one landline, DSL or whatever service).
Spanish law also require a second ID verification to disclose some information (let's say your wifi password), in our case it's the las 4 digits of the bank account number.
Also to pipeline you into different call centers, because it won't be reasonable to demand agents to know all the tech and commercial info about the company, it's just too much.
Walgreens prescription refill has a good voice input system. It doesn't pretend to be intelligent. But you can read a long prescription number to it, speaking rapidly, and it gets it right. It's better than humans for that.
I suspect most of the time the agents hate the systems like you describe as much as the callers. They are actually trying to make things work better and faster by asking for this info, so when you have to repeat it it's a failure rather than a deliberate design decision...
Time spent talking to a robot is free, people are expensive. So the company prefers 1hr with robots + 1minute with human, over 10 minutes with each. It's customer-hostile though, raising the cost of the service in a hidden way.
How many times have you called and the prompts go:
Press 1 to talk with sales Press 2 to talk with marketing .... Press 9 to talk to tech support, the only reason anybody dialed this number
Then: Speak your 18 digit account number, being sure to pause between each digit to make sure the computer records it correctly.
Then: Speak your phone number
Then: Speak your 24 digit hexadecimal product code
Finally you get through to a person and 100% of the time they ask you for all of that information again so they can type it in (and get it wrong).
And even when you get a person on the line they make you go back and do all of the stuff you already tried before finally transferring you to someone with half a clue.