Peer-to-peer (P2P) networks allow nodes to directly interact and share resources without a central authority. They can be purely decentralized, hybrid models with some centralized nodes, or structured models that organize resources. Early systems like Napster and Gnutella demonstrated P2P for file sharing but had scalability issues. Newer distributed hash table approaches like Chord provide efficient lookup of resources with only local routing information. Agents and P2P networks can enhance each other by allowing agent collaboration over decentralized networks and using agents to improve organization and coordination in P2P systems.