[update: this isn't true anymore, there's a config flag now available that fixes this and outproxy=false is defaulted. See [1]]
This is not true. Seriously, you could at least read i2p faq before explaining other people how it works.
Otherwise the main differences seem to be design-wise, where in Tor you rely on a centralized bootstrap to get the list of relays whereas I2P does this via decentralized NetDb.
It's also written in Java and the router web UI was pretty snazzy from what I remember.
Some way of networking just your family members.
There used to be some I2P-only search engines but I'm not sure if they exist anymore.
Freenet on the other hand is an anonymous content distribution system. You can't use it to connect arbitrary network services together, it's only good for storing and retrieving files. Nodes on Freenet each store encrypted pieces of data but it's computationally hard to figure out what data a particular node is storing unless you have the key to access it. Files are prioritized based on popularity so old files that no one has accessed in a while and the original host is gone can just be lost forever. It's similar in some ways to bittorrent swarms. Over time as a torrent becomes less and less popular you're likely to run into issues finding a seeder that's still around.