Yes, common carriers do have competition. I don't know how old you are, but I remember when the choice in long distance providers came. Then sometime in the early 90s, more companies sprang up where you would enter a numeric code first, and then they would bill even less for long distance. Back in the 80s and 90s, a long distance call for an hour could easily cost you $6 on top of your monthly fees for basic service and long distance service. So going from 10c a minute to 4c a minute by entering a code or switching providers was a big deal.
Today, who even thinks of long distance? Back before competition, making a call from the county into town a mere ten miles would cost a dime a minute. How much do you pay for a long distance call now? Do you even think about long distance or instead do you think about the flat monthly rate for unlimited calling? I suspect it is the latter. So instead of paying $30 for basic service, another charge for a long distance plan, and then 10c a minute on top of that, you pay a $20 to $30 flat rate and never even think about how long you talk and how far away the endpoint of your call is.
That's what happens when there is competition.