I find that I like I2p quite a bit, but I'm not as fond of the reference implementation. It's in Java, which makes running it on small systems more difficult, and it routes traffic by default.
Routing by default GREATLY improves the network, but may be undesirable/unrequested behavior by people.