To further expand Anthony's answer (which is correct), remember than when email was created, it was intended to send text (ASCII chars). When the idea of sending binary files became a reality, the e-mail infrastructure was already in place and working and it would have been too hard to change it to support sending binary data (plus it would have added complexity).
In order to solve the problem, the solution was to MIME encode the files (as correctly pointed by @mark in the comments).
As you can guess, this makes the size bigger, but allows the binary file to be represented in ASCII. Since ASCII has only 128 chars (and some are control chars!) because it was 7 bit, the 8 bit version, called Extended ASCII added another 128 chars to the mix (allowing accents and some other tricks), but that's just another story much better explained in Wikipedia and countless sites about it :)
To create a simple analogy, imagine you have to represent the entire alphabet using only vowels. You'd start creating combinations of the 5 letters you have to represent the missing ones, so for example the letter "B" would have to be represented as "AA" (just an example), then C would be "AAA", then D could be "AE", etc.
As you can see, I'm only using vowels, but I need more than 1 to represent consonants. This is more or less in simple terms what MIME does. It uses standard ASCII chars to represent a hell lot more, thus the increase in size.
Hope this helps you understand the process that goes on when Mail (or entourage) says: "attaching…". It's encoding the file :)