From those who've researched the issues: For practical use it sucks; don't go there.
First off all, I'm talking about decentralization, not P2P. P2P sucks and is probably only suitable for file-sharing and community systems (e.g., IM, groupware etc.).
Decentralized systems, where computations doesn't have to be performed at the central server, is different and would solves alot of problems existing in centralized systems with high real-time requirements (like MMOG servers).
Cheating, in the sense of manipulating the local computations, can be solved using code mobility. I proved this in my master thesis (sorry, no online reference). Basically, what you do is to distribute a new, slightly modified, game-rule component at irregular intervals to prevent players from patching the local application. There are more problems with cheating also (bugs in code, etc.), but these also exist for centralized solutions.
The problems with bandwith and latency as you mention it are at least partially solved using a decentralized solution. The bandwidth usage is reduced since computations are performed locally, then distributed to the necessarry player-clients and the result doesn't need to be confirmed anywhere. Latency is always a problem, regardless if you use a centralized, decentralized or P2P solution.
Persistence is a problem in decentralized environment since a computation isn't performed where the persistent data is stored.
However, I do agree with your last statement. But that doesn't prevent the idea of a decentralized solution to be explored. It is always easier to write a centralized solution, and hardware is cheap (compared to development costs).