When you are leeching a torrent, you need some upload bandwidth as well. This is because, for every piece you download, you have to report back to the seeder that you have successfully received the file, kind of like a "got it!" message.
So, if you are seeding stuff at the max speed your ISP gives you, you won't be able to send this message back as quickly, so the download ends up waiting for the message to be sent, therefore slowing down.
Be sure to limit your upload speed to a max of 80% of your given max upload speed quoted by your ISP. If you plan on doing other Internet activities while torrenting, you should be setting it lower.
2) you are seeding and downloading from/to the same physical hard disk, plus you have a lot of active torrents, and thus you are losing speed because of all the I/O [operations]
Doubtful. The bottleneck is usually the connection speed limit. This depends on the connection you have, though, of course.