I don't buy the "If they won't provide unrestricted access, switch to a company that will" argument. In many areas, the available options are very slim, and generally restricted to one or more of the big telecoms. Allowing one telecom to restrict what internet content you can access allows all telecoms to do so. Since the kind of throttling Comcast has been using helps cut their costs, unless it has a major impact on their subscriber base, it's in their financial interest to continue. If they're allowed to do so, and there's not a scary enough fallout from their customer base, the other big telcoms will almost certainly follow suit.
"What about other companies," you ask? At least in my area, I am unaware of any (non-dialup) internet providers other than Comcast and Verizon. They are established, have customer loyalty, brand recognition, and a developed infrastructure. How is a smaller company going to compete with that? As it stands, cable companies have near-monopolies in many areas. In at least some areas, they even own the cables. Try starting a competing company there - you'd either need to lay your own cables (huge capital investment) or convince the local telcom that it's a good idea to rent bandwidth to an attempted competitor (good luck with that).
"Free market" solutions don't work well (if at all) under conditions like these. They generally require that it's feasible for a startup to move in and successfully compete with the established local companies, and that the startup remain viable despite not taking the path of least resistance.
Potential problems with a non-neutral internet:
1) Service blocking (like the BitTorrent protocol block) - Some uses of your internet connection (as in applications, not home vs. commercial) are suddenly forbidden or tightly restricted; "Lightning-fast download speeds, as long as you don't try to move any large files."
2) Content blocking/restriction - The speed with which online content is delivered varies based on some criterion. Perhaps websites that the company doesn't like are blocked? Maybe on top of paying for their hosting bandwidth, websites now have to pay each ISP a fee to be shown to the ISPs' customers, and/or pay extra to be delivered at full speed? Suddenly, BigCompany.com loads nigh-instantaneously, but SmallCompany.com takes several minutes, despite having bandwidth to spare, all because Big Company can pay the surfer's ISP more money.
Here's a somewhat analagous hypothetical situation:
1) The auto companies decide that they're paying out too much on warrantee-covered maintenance, and they have to reduce the wear and tear on the cars they sell. Their solution? Whenever any car they built tries to drive on the highway, it automatically takes the first available exit. Actually, to be accurate to the Comcast situation, the car would also have to attempt to convince the driver that there was some sort of problem with the highway, and they thus had to take the side streets, and the manufacturer would have to deny all of this, even after a major newspaper had proven it was happening.
2) To increase revenues, the auto companies decide to go to the national/state/local government or private party that owns each road and/or driveway and demand money from them. Cars refuse to be driven on the roads of those that don't pay, or won't go above a fraction of the speed limit on roads whose owners don't pay enough.