Well, I've got to say BitTorrent has come a long way...
I installed the optional "shadow" client available on my Mandrake 10.0 system, read up on the firewall requirements, punched through, found a torrent, and nothing happened. "Failed to connect" - real helpful.
However, I hunted around, and did manage to find a decent torrent, and sure enough, I got about what I get when I can manage to find a good FTP server, 300+ kB/s. The speed often dropped below that, down under 200, but what the heck, chances of finding a full-speed ftp feed on an iso are pretty poor too.
Error reporting could be better. It's likely that that "failed to connect" was actually inability to write to the target directory, which also gives a meaningful "failed" when I know that's the problem. There are still a lot of bogus torrents listed out there. Maybe it's a good idea, but I still say it's not quite there yet.
(Oh, and the firewall thing is so basic that it should be easy to code around it, or at least pop up the directions when the cleint detects that it's blocked.)
The main advantage that I've found with BitTorrent is that it allows me to stop a download and restart it at any time. This can also be done with some FTP sites, not all.
BitTorrent is not meant to be a replacement for any existing protocols, simply a way to distribute files in a dependable way.
As long as there are people who "seed" the torrent the torrent will be available. You can even pull down the file from other people who are downloading. What it does is to break up the file into chunks and then share out those chunks. You can download the parts from anybody who has pieces you don't have. The key is to have as many people "seeding" as possable. Most torrents will reach a critical mass about one to two weeks after the initial seeding, then the quality declines from there. That's why you'll see many torrents reseeded.
As far as usability, error reporting, or stability that's not so much to protocol as it is the applications. I run Azureus on Gentoo and it suits my needs. I've not had any problems with it. Azureus is a resource hog, being Java.
IMHO BitTorrent has it's place, just as P2P sharing has it's place, like HTTP and FTP. The right tool for the right job.