Lets say you want to download a program and its split into 100 chunks.
One person may have chunk 1 and they give it to you (leeching). Someone else may have chunk 2 and they give it to you.
In turn someone else may want chunk 1 from you so you give it to them (seeding). Eventually you get all the chunks and your download is complete.
The main upside/downside is theres no central computer giving out the whole program at once. This means that no one has control to access to the program alone and that they dont need the host to have a lot of internet bandwidth available (ie. Let a lot of people connect to 1 computer and use up all their upload speed)
However if no one or very few people seed the whole file then download speed can be very slow.
Latest Answers