It's sort of like an arbitrary mesh with lots of layers of plugins providing primitives like private key-based identities, a decentralized DNS alternative, block storage, tunnels, etc, and these combine to build more complex tools like filesharing, chat, etc.
It doesn't do onion/garlic routing, although that's planned to be added in the future. It is possible to make a service available over GNUnet like you can with i2p, and with the name system you can give it a convenient name and add it to your address book like in i2p. That being said, this service in particular offers no real anonymity at the moment, and is currently buggy. Filesharing is its most mature application in my opinion, it doesn't have any severe bugs I'm aware of and it is optionally anonymous (although the network only has a few hundred peers at the moment so its anonymity isn't as strong as it will be when more people use it).