On the broadest level Freenet works by allocating a portion of your computerís hard disk space to the network. Then when another computer asks your computer for some data that you have stored, your computer will transmit the file. If your computer does not have the data it will look at all the computers it connects to, and ask the one that it thinks is most likely to have the requested data. Inserting data works in essentially the same way. Each node looks at a hash of the data and passes it along to another computer that is the best match for that hash. The hash is used because all data in the network is encrypted, and any given node doesnít know the decryption key.
This means no computer can tell what data it is storing or fetching, nor can anyone tell where a particular piece of data is located on the network. No computer on the network knows where the data originally came from or where it went. This is because if you request a file and another computer gets the request, it has no way of telling if you are the originator of that request, or if you are just passing on the request from another computer. Then when the data is returned you have no way of telling if the sending computer had the data in its datastore, or if it got it from another computer. A positive side effect is if two people independently insert the same data, they collide so the network only needs to store one copy.
This has a few implications that should be addressed. First, it means that there is no central server that the network depends on. Second, it means that every permanent node on the network contributes to it by storing and serving data. As a result of this, anyone can upload content and never have to worry about the bandwidth, as Freenet handles both the storage and distribution of content. So even if you don't particularly need anonymity, you might still want to publish your site on Freenet because it provides free hosting regardless of how big or popular your site is. So, you never have to resort to putting ads on your page.
The way Freenet's architecture is designed makes it inherently good at some things, and inherently bad at others. For example, because all inserts and requests for data go through 5 - 15 computers before they reach their destination, Freenet has inherently high latency. This means it will never be suitable for playing real-time games or instant messaging. However, because when you request a file it downloads it in many chunks, each of which will likely come from a different computer, it can allow very fast downloads for big (710MB+) files.
The reason that it is able to do this is that Freenetís design has a few inherent advantages over other networks. Because the data is inserted, it will be spread over a large number of hosts, even if it is unpopular. Because each node has a datastore, all nodes are contributing to the speed of downloads even if the node operator is not publishing any content. Freenet also requires nodes to have higher uptimes than most networks, so data is more likely to be available. This means that you can download from many computers even if the file is unpopular, and the total bandwidth is not directly limited by the number of people downloading it or sharing it. The Freenet design has the potential to outperform the venerable Bit Torrent.
Freenet is very good at making information available to everyone anonymously. Sending information to a specific person, however, is not yet reliably possible. (Though there are several attempts underway to make this possible.) If your application requires lower latency than Freenet can provide, and does not need lots of bandwidth you might look at Freenet's sister project the Invisible IRC Project (IIP). Although IIP has a much lower standard of anonymity, the two complement each other very nicely. Freenet can be used for storing or publishing data, and IIP can be used for small fast communications, including email.
If you are considering creating and uploading your own freesite, you should look at some of the guides on Freenet for advice, as good web design is not necessarily good freesite design.