On most websites, Firefox reports a page size that is drastically smaller than the page size reported in Internet Explorer, and when I paste the source code of the website into a text file, the size of the text file is the same as the size Internet Explorer is telling me. What is the cause of this discrepancy? The only thing I can think of is that some web servers dish out the page compressed, and Firefox is reporting the compressed page size. Am I right?
Fx is reporting the HTTP content length, as you suspect. Where gzip compression is used, this will be substantially less than the uncompressed data size.
You can use the Live HTTP Headers extension to check out HTTP interchange, and you'll see that this site does actually use gzip compression. Note that reporting the content-length in the header is actually optional -- a server can simply shutdown the connection when it's done sending data.