Greed. They can get away with it, so they do.
It is something that totally annoys me. The only pdocs around here who take insurance will see you for less than 5 minutes (I know, I've tried them) You can get that from a GP. I ended up seeing a cash only guy who would meet with me for 1/2 hr for like $180. Turned out he was an okay doctor, but a horrible person, so I switched to my current pdoc. He charges $120 for 15 minutes, but usually sees me for 20. I think he might be on some insurances, just not mine. It sucks, but I feel I need someone who will at least listen to me. It is insane that I have to pay so much for adequate care.