I actually prefer the way it happens in Japan.
Basically, a single company (NTT) has laid down the infrastructure to every neighborhood. Then, they basically open it up and make it available to anyone who wants to start an ISP. NTT, of course, offers their own ISP, but their ISP portion still has to lease the line from the parent company. Essentially, the ISP pays a set amount per customer that is signed up with the service for the rights to use the backbone. Then, the individual ISPs compete based on services offered. They also compete on price, but most of the prices are within a couple hundred yen of each other (couple dollars).
Each ISP hosts their own authentication servers, email, website, etc... The customer plugs in their username and password to the modem (user@ispname.ext). NTT runs the PPPoE server, but each ISP has their own RADIUS server. So NTT receives a login request from bob@fiber.marley.jp. NTT looks up fiber.marley.jp and makes sure it's a registered ISP. If it's ok, then NTT forwards the radius request to the fiber.marley.jp auth server hosted by the ISP which then authenticates the account and allows or disallows the connection. If the auth goes through, the user is allowed access to the network, ip address is assigned, routing is set to pass them their dns, gateway, etc...
Then you're on the backbone and you can do what you like.
Cool thing is, there's only one network to maintain/upgrade so when NTT upgrades from say, 100Mb/sec fiber to 1Gb/sec fiber, all the ISP has to do is set up a new service and subdomain for auth and the user can use the new service in the method described above..
You can also subscribe to regular phone service, tv service, and they also have a VOD service available.
Anyways, it's a good system and it works great. There's tons of competition and the backbone owner still gets a cut of every connection based on subscriber rates per ISP.