Peer-to-peer doesn't mean player hosted games. Peer-to-peer means a system where all computers participating in one system are equal, usually each one does its calculations for itself and only sends stuff like player input to the others. The main issue is that because all systems are equal noone can resolve conflicts (like, say, system A believes player 1 is in one place but B believes he is in another place), leading to desyncs. These days noone uses P2P for gaming because lag and packet-loss, especially over the net, make it too instable. Try playing GTA over LAN (or nullmodem for a better effect) and see someone desync.
The only viable system is a server-client model where the server does all the calculations and the clients get copies of the results. If any doubt about certain data arises, the server is always right. Many games call the server the host but that doesn't change the fact that it's an S-C model. All games use this nowadays because P2P just desn't work for data subject to heavy branching. Many games support instant server changes, which means when the server disconnects the clients imediately determine a new server.
What people here get confused about is the master server. Games with user-provided servers use the dev's master server (or that of other match-making services, like Gamespy) to locate other users unless the only way to play is to enter the other guy's IP address. Live is like that. The other kind is the dev-owned game server, where all users connect as clients to a server operated by the dev and the dev's servers calculate the games. That's what MMOs do and I think closed Battle.net works like that as well. The costs are hugely different, a match-making server has much less load (and therefore cost) than a game server, UT2004 has one server, WoW around 80. I'm not sure but I believe MS's servers take a much heavier load because they handle MANY games and some downloadable content plus all Live accounts. I'm not sure what Sega payed for their network.