Another issue is that insurance does not have to compete across state lines. They've divvied up the country and are sticking to their corners (much like ISPs).
Insurance should be required to accept customers from anywhere in the country. Hospitals should be required to publish prices. These seem like no-brainers to me. But hospitals and insurance make too much money, and give too much of it to congress for any real change.