A number of ways to share files between two computers.
1. A home network does not require an external device. On windows xp, and vista as well i believe, it is called workgroup and this allows you to designate which folders you want to share with other computers in the same workgroup. In windows 7 it is called a homegroup
2. A NAS, network attached storage device might be what you're looking for. It's basically a small server attached to your network over wireless or ethernet and you can drop files into the NAS's hard drives. Most have 2 or more hard drive bays so you can expand the storage capacity if you run out.
and there are more but these two are the ones i think most people will use
A hub or a switch
Printers, faxes, scanners and certain network storage devices can be shared by multiple computers on the same network. Hubs, switches, and routers are usually not considered to be shared devices - rather they are considered to be part of the network infrastructure like the cables.
Hard Drive
a wireless router
network port
FAT Allocation is called File Allocation Table, it is a way that most USB sticks are formatted. It is used so you can share files with other computers, without a formatted device, it would not function.
You can set up a network. The most simple network consists of only two computers. You can use this network to share files, a printer, or another peripheral device, and an Internet connection.
It is possible to share a printer on a network. For example: two computers sharing one printer while the computers are connected to a home network (local Area Network - LAN). To share files between two computers, mark a folder or drive as shared - search Google on sharing files for more info.
they can share internet connection or files or network boot.
You can share Android applications from one device to another using the Bluetooth sharing device.
NFS
Internet sharing or through proxy using we can shre internet and files and folders.
FTP (File Transfer Protocol)
Yes. In most cases you only need a USB cable to transfer files between computers.