a couple reasons; The main one being bandwidth priority. If you're leeching you're using up most of the bandwidth on the download and only a fraction of bandwidth for outgoing data (or upload). Multiply this concept times however many people are leeching and collectively the throughput of 'outgoing' data is a lot less.
If someone is Seeding they have all the available bandwidth allocated to uploading (theroetically). Some of these factors are affected by the users settings in the bit torrent client but the concept should be clear.
Also, if you have a ton of people Leeching and much fewer people Seeding there's a good chance that many of you will have identical "pieces" of the data. It's up to those much fewer Leechers with the missing data to prioritize and send that missing data your way. This also reduces the speed at which your file downloads.
I'm sure someone may add or clarify to this, but the gist is there.