mail server and an outgoing mail server. This means that it must listen on
some port to receive email from the outside world ( this is port 25?, SMTP
). And it means that it must listen on some internal port, or scan some
local directories, for mail to send out to the outside world; how does this
work?

The MTA can also listen on the SMTP port for sending mail from the local
host to others. There are also other ways to handle that.

Depending on whether you consider IMAP or POP3 daemons as part of the
MTA or not, since they would listen on the appropriate ports, the MTA
would or would not.

<ron's text>
So, if you want to send emails from box to box (and, of course,
internally) on your LAN, install an MTA on each machine. They
will have to be configured so that LAN traffic stays on the LAN
and internet mail is sent to your ISP's smtp server.
</ron's text>
I'm kind of confused as to why there would be a MTA on each machine. This
probably relates to the confusion related above though. Why couldn't I just
have the one machine with postfix, which exposed its services to the rest of
my machines?

It depends on the capabilities of the MUAs you are planning to use. If
they are able to talk to a MTA via SMTP, you can set up one machine as a
mail server for all.

But there may other programs running that try to send mail, like cron,
for example. You would have to take care that sending mail from such
programs will work.

There seems to be something called 'nullmailer' to provide that
functionality without having to use a full-featured MTA.